Vista UAC - Incidências mapeamento de unidades de rede
-
13-09-2019 - |
Pergunta
Nós temos um aplicativo que mapeia programaticamente unidades de rede. No Vista com o UAC no, temos alguns problemas estranhos.
Nosso aplicativo mapeia a unidade não elevado, por isso, se as navega usuário Explorer e clicar duas vezes para executar um exe, ele solicita UAC. Então, quando eles aprová-lo, ele solicitará um nome de usuário / senha para o share ... estranho, já que as credenciais são salvas.
Acontece, um processo elevado não pode acessar uma unidade mapeada que foi mapeada a partir de um processo não-elevado.
Para ver este problema em ação, execute os seguintes passos:
- Executar cmd.exe sem UAC
- Executar "net use w: \ yourHostname \ yourShare / user: youruser yourpassword / persistent: yes"
- Executar cmd.exe como administrador
- Digite "w", e veja a mensagem de erro
Neste ponto, você pode executar "net use" simples e veja a conexão no cmd elevada não está disponível mas o outro cmd não elevado o vê como OK.
Alguém sabe uma solução alternativa para corrigir esse problema? ou talvez uma maneira de mapear uma unidade de rede para "Todos os usuários"?
Solução 2
Confira neste link: Regedit Fazer a ligação
Eles descrevem uma chave do registro que permite elevados que os usuários acessem as unidades mapeadas e vice-versa. Isso resolve todos os meus problemas e foi exatamente o que eu estava procurando.
EDIT:
O link original está morto, mas aqui está o texto como copiado do 24 de janeiro de 2009 snapshot em www.archive.org :
Se você está achando que você não tem acesso a unidades mapeadas a partir de seu administrador símbolo tente o seguinte. Quando executado como um administrador protegido você tem duas fichas e esta chave vai manter a conexão para ambas as tokes (essa é a minha de qualquer maneira entendimento). Pode também ajudar a esclarecer problemas com scripts de login.
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System EnableLinkedConnections = (DWORD) 1
Também de uso é o "'Scripts de política de grupo pode falhar devido ao usuário Account Control" deste doc.
Eu estarei postando mais informações sobre isso em breve.
Outras dicas
Isso ocorre por design.
Mesmo que a conta de usuário é o mesmo, com a versão elevada tendo uma ficha com a adesão dos privilégios de grupo administrador e de adição, os tokens são criados de forma independente e, portanto, têm diferentes LUID do e aparecer para o kernel para ser de diferentes logins de usuários . Uma vez que eles são de diferentes logons, unidades mapeadas não são compartilhados entre eles.
http://blogs.msdn.com/cjacks/archive/2007/02/19/mapped-network-drives-with-uac-on-windows-vista.aspx discute isso em detalhes adicionais.