Não é possível executar o File Explorer como usuário diferente


8

Após essa pergunta sobre a abertura do explorador de arquivos como um usuário diferente , tentei navegar para C:\Windows, shift + clique com o botão direito do mouse explorer.exee clique em "Executar como usuário diferente". Quando insiro os detalhes de login do usuário, recebo duas mensagens de erro sucessivas, ambas dizendo

O Windows não pode acessar o dispositivo, caminho ou arquivo especificado. Você pode não ter as permissões apropriadas para acessar o item

Se eu tentar os detalhes de login da conta que está conectada atualmente, funcionará, mas a outra não. Este é o caso de ambas as contas (administradores) no meu PC.

Editar

Houve alguma confusão nos comentários. Estou tentando seguir a resposta aceita na pergunta vinculada acima e ela não está funcionando. Algumas pessoas estão dizendo que isso não pode ser feito, por isso é estranho que exista uma resposta aceita com três upvotes


Usuários @ BlueBerry-Vignesh4303 no meu PC tem de leitura e Ler e executar permissões paraexplorer.exe
binaryfunt

Meu pensamento geral seria que, já que o explorer [já é um processo paralelo do explorer em execução no usuário existente] é um diretório comum que é comum para ambos, que serve para a exploração de arquivos no diretório do Windows, para que não seja acessível por outro usuário, seja o mesmo resultado enquanto executando outros programas da Microsoft, como o cmd.exe?
precisa saber é o seguinte

@ BlueBerry-Vignesh4303 Posso abrir cmd.exemuito bem como outro usuário. Se a resposta aceite da questão ligada (3 upvotes) diz para fazer o que eu tentei fazer para executar Explorer como um usuário diferente, ele deve trabalhar
binaryfunt

Se você pode abrir o cmd, então digite start .e ele deverá abrir um explorador como esse usuário.
LPChip 22/09/16

@LPChip recebo a mesma mensagem de erro se eu tentar isso, e ele diz que Access deniedna nova linha (normal pode cmd prompt de ainda explorador aberto como conta corrente)
binaryfunt

Respostas:


6

De acordo com esta publicação no blog do TechNet , o explorer.exe parece ter um thread único e não permitirá que vários threads sejam executados em diferentes contas de usuário:

O Windows Explorer não foi projetado para ser executado em vários contextos de segurança na mesma sessão da área de trabalho; o Windows não pode simplesmente exibir um prompt do UAC e iniciar uma instância elevada do Explorer

A alternativa mais útil ao uso do explorer.exe , conforme também descrito nesse artigo, é baixar o explorer ++ e executá-lo como o usuário no qual você deseja procurar arquivos. Você pode conectar-se aos caminhos UNC tão facilmente no explorer ++ como faria com o explorer, portanto parece ser uma alternativa suficiente. Essa também é a abordagem mais fácil que encontrei, que não exige permissões elevadas (como as necessárias para interferir no registro ou instalar software adicional).


2
Parece a resposta correta. Eu encontrei os mesmos obstáculos que o OP. Eu acredito que esta resposta deve ser a resposta aceita.
James Jenkins

1

Pelo que você pode ler em outras perguntas ( 1 , 2 ) sobre esse tópico, geralmente é hacky na melhor das hipóteses e certamente não é um cenário suportado. Além disso, a segunda pergunta tem mais algumas informações e, se você seguir alguns links, acabará aqui: E este é o Vista…

Se você verificar esse artigo, lerá o seguinte:

No Vista, no entanto, há mais alterações. Nem o Internet Explorer nem o Windows Explorer estão dispostos a entreter várias contas na mesma área de trabalho. Se você tentar executar o IE em uma conta de usuário diferente daquela da área de trabalho, ele exibirá uma mensagem de erro: "O comando RUNAS não é suportado". Pelo que entendi, o principal motivo é que, com o Internet Explorer do Modo Protegido, que é executado no Nível de Integridade Baixo, o IE também lança um processo do intermediário de IL Médio (ieuser.exe) que é executado como usuário da área de trabalho e que bloqueia as operações de IL Médio selecionadas para o processo de baixa IL. Permitir múltiplas identidades nesse mix teria introduzido uma complexidade significativa a ser evitada. Se você tentar executar o Windows Explorer como um usuário diferente, não verá nada - o novo processo inicia, mas sai sem exibir uma janela.

...

O Explorer é um pouco mais complicado. A aplicação direta de "Executar como administrador" não é suficiente, mas é comum executá-lo a partir de um shell de comando elevado. Acho que uma linha de comando como “explorer / e, c: \” funcionará, enquanto apenas executar “explorer” pode não funcionar. Mas como antes : se funcionar, é um efeito colateral não intencional da implementação atual e está sujeito a alterações a qualquer momento.

É razoável esperar que eles mantenham esse comportamento como no Windows Vista, Windows 7, Windows 8 e agora (provavelmente) no Windows 10.

Parece que você precisará usar um hack, considerar uma solução alternativa ou reavaliar seu problema que leva a que você precise executar um explorador como um usuário diferente.

Como solução alternativa, você pode usar um explorador de arquivos diferente como o Total Commander, cmdque está sendo executado sob credenciais diferentes, uma caixa de diálogo de arquivo de outro software que você iniciou como usuário diferente ou o "interruptor rápido" do Windows para mudar temporariamente para outro. do utilizador.

Você realmente não forneceu nenhuma informação sobre por que está tentando fazer isso, então não tenho idéia de como poderia ser uma abordagem diferente e quanto ao hack ... existem várias nas perguntas acima. Meu palpite por que o que você vinculou na sua pergunta inicial foi mascarado como resolvido é que a pessoa fez mais algumas pesquisas e talvez se deparou com esses hacks.


1

Configurando o Explorer para abrir pastas em processos separados, usados ​​para permitir que isso funcione em 1511. Por exemplo, em um prompt de comando executando como usuário1, "explorer c: \ somePath" abriria uma janela do Explorer em execução como usuário1, enquanto em um prompt de comando em execução como UserZ , o mesmo comando abriria uma janela do explorer em execução como UserZ.

Após a atualização para 1607, isso quebrou. Clique com o botão direito do mouse e execute como usuário diferente, resultando nos mesmos erros mencionados acima.

Iniciando o explorer a partir do prompt de comando, nenhuma janela é exibida, mas um novo processo do explorer pertencente ao usuário da área de trabalho atualmente conectado. Esse processo acaba desaparecendo por conta própria. Eu assisti algumas vezes em que o novo processo do explorer é iniciado como o usuário que o invocou, então esse processo é fechado imediatamente e um novo processo de propriedade do usuário da área de trabalho é gerado (e nunca aparece, e depois que um pouco é automaticamente eliminado) ) Suspeito que esse sempre seja o caso, geralmente geralmente acontecendo muito rapidamente para ser observado no Gerenciador de Tarefas. O Process Monitor ou algo semelhante provavelmente ajudaria a provar isso, mas não me incomodei, pois provavelmente não consigo consertá-lo. : \


1

Uma solução interessante que me descobri recentemente e ninguém aqui mencionou ainda:

Crie qualquer processo / programa como um usuário diferente (por exemplo, o Bloco de notas) e, dependendo do programa e da estrutura usada, você pode usar a API da Caixa de diálogo Common File para executar várias operações regulares do shell "explorer".

(Basta selecionar Salvar como .. ou Abrir ... no menu e usar o menu de contexto para copiar / colar, etc. e depois "cancelar" a caixa de diálogo).

Como executar como usuário diferente em primeiro lugar

Para gerar qualquer programa como um usuário diferente, use os shellrunas sysinternals , que podem instalar um item do menu de contexto. Como alternativa, crie um cmd com runas internas do Windows e inicie um programa que usa uma API da Caixa de Diálogo Arquivo Comum .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.