No Windows 8, por que uma unidade mapeada não está disponível em um prompt de cmd elevado, mas está em um prompt de cmd normal? Posso executar um uso da rede e disponibilizá-lo, mas ainda acho isso estranho.
No Windows 8, por que uma unidade mapeada não está disponível em um prompt de cmd elevado, mas está em um prompt de cmd normal? Posso executar um uso da rede e disponibilizá-lo, mas ainda acho isso estranho.
Respostas:
Ao usar o UAC com um usuário administrativo, no login, o Windows cria dois tokens. Um token (o elevado) não é filtrado e tem o grupo Administradores ativado. O outro token possui o grupo Administradores (e alguns outros detalhes, como o grupo Usuários avançados) filtrados.
Como esses dois tokens têm contextos de segurança separados, as conexões de rede em um não estão disponíveis no outro, mesmo que seja realmente o mesmo usuário.
Portanto, se você mapear uma unidade usando o Explorer, um prompt de comando elevado (ou qualquer outro processo elevado) não poderá vê-lo.
Você pode mapear o mesmo recurso de rede (usando a mesma letra de unidade, até) no prompt de comando elevado usando o comando NET USE. Depois disso, qualquer processo elevado também poderá vê-lo.
net use e: \\computerName\folder password /user:domain\username /p:yes
é o comando que acabei usando que o fez funcionar. (Onde e:
está a letra da unidade que você está mapeando, \\computername\folder
é o caminho a ser mapeado e password
, domain
e username
são as credenciais normais para efetuar
A resposta de William explica por que isso acontece e fornece uma solução alternativa. Mas quero acrescentar que, na verdade, existe uma correção de registro do Vista que funciona no Windows 7 para ajustar esse comportamento. Basta adicionar isso ao seu registro:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLinkedConnections"=dword:00000001
Após uma reinicialização, as unidades mapeadas devem estar acessíveis através do prompt de comando elevado.
Porque você está elevando o prompt de comando como um usuário diferente e a unidade mapeada em questão foi mapeada pelo usuário não administrativo. Usuários diferentes têm configurações diferentes, como impressoras, unidades de rede mapeadas e assim por diante.