Por que não consigo arrastar/soltar um arquivo para edição no bloco de notas no Windows Server 2008?

Por que não consigo arrastar/soltar um arquivo para edição no bloco de notas no Windows Server 2008?

Quando o bloco de notas é executado, posso arrastar/soltar um arquivo para abri-lo, mas ele não consegue salvar o arquivo. Quando executo o bloco de notas elevado para salvar o arquivo, não consigo mais arrastar/soltar para abrir o arquivo.

Entendo que é um risco à segurança arrastar um arquivo de um programa não elevado para um programa elevado; no entanto, quando executo o explorer elevado também, ainda não consigo arrastar/soltar no bloco de notas elevado.

Por que o sistema operacional não permite que dois programas elevados troquem informações via arrastar/soltar? Estou pensando seriamente em voltar a usar o Windows Server 2003.

Editar: parece que dois programas elevados podem trocar informações; o explorador simplesmente não conseguia se elevar. Depois que o Explorer for elevado, os arquivos poderão ser arrastados do Explorer para um bloco de notas elevado.

Responder1

A incapacidade de "arrastar e soltar" do Explorer para uma janela elevada do Bloco de Notas é uma manifestação do isolamento de privilégios da interface do usuário (UIPI) recurso. Está no sistema operacional impedir que um aplicativo com menos privilégios envie "mensagens" arbitrárias (no sentido de comunicação entre sistema operacional/aplicativo entre processos) para outro aplicativo com privilégios mais altos. Se o aplicativo com maior privilégio manipular uma mensagem de maneira inadequada, poderá ser possível que o aplicativo com menos privilégios faça com que o aplicativo com maior privilégio execute código arbitrário em seu nome (esses tipos de ataques são chamados dequebrarataques, assim chamados em um artigo de 2002 que descreve o método de ataque nas versões atuais do Windows).

Você pode pensar nisso como um "firewall" entre aplicativos executados com um "nível de integridade" mais baixo (sem privilégios) e aqueles com um nível de integridade mais alto (elevado).

Se vocêREALMENTEdeseja um Windows Explorer elevado, faça o seguinte:

  • Inicie um prompt de comando elevado e deixe-o aberto.
  • Inicie o Gerenciador de Tarefas e eleve-o acessando a aba “Processo” e clicando em “Mostrar processos de todos os usuários”.
  • Destaque e elimine todas as instâncias do Explorer.Exe usando o Gerenciador de Tarefas.
  • Na janela elevada do prompt de comando ainda aberta, digite “Explorer” e pressione <ENTER>.

O Explorer será reaberto elevado.

Responder2

Se não quiser desabilitar o UAC, você pode tentar apenas desabilitar o UIPI (User Interface Privilege Isolation).

Abra o regedit e vá para:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

Adicione uma nova DWORD (32-bit) Valuechamada EnableUIPIe defina-a como 0.

Reinicie a máquina e veja se ela se comporta como você deseja.

Responder3

Este foi um problema no Vista, e acho que também chegou ao servidor 2008. Basicamente você não pode executar o Explorer elevado. Você tem a opção de segurança para fazer isso, e parece ter funcionado quando você faz isso, mas na verdade você ainda acaba com uma janela do Explorer padrão (não elevada), daí o problema que você tem.

As soluções alternativas que tive que usar no passado envolveram o uso de salvar como janelas do Explorer em sua sessão elevada do bloco de notas, pois também é elevada, ou o uso de um prompt de comando elevado para criar arquivos, mas nada disso corrigirá seu arrastar e abandonar o problema, obviamente. É um bug muito ruim, que já existe há algum tempo, não sei por que eles não o corrigem para que você possa executar uma instância elevada do Explorer.

Responder4

Suponho que eu diria que o código responsável por organizar os detalhes necessários para arrastar e soltar está sendo executado em um contexto não elevado junto com o restante da interface do usuário (incluindo o Explorer), portanto, não será capaz de acesso às informações do canal entre os dois processos.

informação relacionada