Por que o File Explorer não está exibindo minhas unidades mapeadas?

3

Estou usando o Windows 10 Pro de 64 bits.

Meu aplicativo (que foi executado como administrador) mapeia uma pasta da unidade D para uma unidade de rede Z usando a API de rede do Windows wnetaddconnection2() .

Quando abri o File Explorer, não consegui ver a unidade Z. No entanto, quando abri outros aplicativos (por exemplo, Visual Studio) no modo Admin e navegue até a pasta This PC, posso ver a unidade Z em Network Location.

Por que e como resolver esse problema de unidades mapeadas que não aparecem imediatamente após serem mapeadas?

Esse problema não acontece

  • no Windows 7 OU
  • quando meu aplicativo não é executado como administrador OR
  • depois de reiniciar o explorer.exe OU
  • na caixa de diálogo Abrir arquivo em outros aplicativos (como Word, Paint, Visual Studio, etc.)

Nota: Eu tenho EnabledLinkedConnections definido como 1, EnableLUA definido como 1.

Solução experimentada

Uma solução é examinar um programa em Ferramentas administrativas chamado Política de segurança local e desativar todas as políticas relacionadas ao UAC em Configurações de segurança > Políticas locais > Opções de segurança (Localizado nas 15 políticas inferiores da lista), exceto UAC: Behavior ..., UAC: Switch ... e UAC: Virtualize ...

No entanto, eu não quero ir por esse caminho devido a vários problemas que ocorrem, como não pode abrir o aplicativo do Windows 10 como a Calculadora, etc.

    
por Mark 18.05.2016 / 09:40

1 resposta

1

Por causa do UAC, o Shell é executado com permissões de usuário padrão, não é possível ver as unidades mapeadas que foram configuradas a partir do seu aplicativo em execução com direitos de administrador.

Há uma solução alternativa chamada de ativação da opção EnableLinkedConnections :

  • Clique em Iniciar, digite regedit na caixa Iniciar programas e arquivos e pressione ENTER.
  • Localize e clique com o botão direito do mouse na subchave do registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System .
  • Aponte para Novo e clique em Valor DWORD.
  • Digite EnableLinkedConnections e, em seguida, pressione ENTER.
  • Clique com o botão direito do mouse em EnableLinkedConnections e, em seguida, clique em Modify .
  • Na caixa Dados do valor, digite 1 e clique em OK.
  • Saia do Editor do Registro e, em seguida, restart the computer .

Ou você pode aplicar meu hack para executar o Explorer como administrador para ver também as unidades mapeadas .

    
por 18.05.2016 / 17:58