Por que uma unidade mapeada não está disponível em um prompt de cmd elevado, mas está em um prompt de cmd normal? [duplicado]

19

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.

JimDel
fonte
Você está elevando o prompt de comando como o mesmo usuário ou está usando runas ou credenciais alternativas?
precisa saber é o seguinte
O usuário elevado tem as permissões de compartilhamento e NTFS apropriadas no compartilhamento?
joeqwerty
Peça suporte da Microsoft.
31912 John Gardeniers

Respostas:

23

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.

William
fonte
1
Existe uma maneira de usar o Explorer E ter a unidade visível para todos os usuários?
9119 JimDel
4
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, domaine usernamesão as credenciais normais para efetuar
phyatt 27/03
@phyatt Isso é seguro para o Windows10?
GreenAsJade
Seguro / seguro é outro tópico. Ele deve ter o mesmo comportamento no dia 10 do que no dia 8.
phyatt 20/07/16
19

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.

Craig W
fonte
Eu não sabia que isso era possível. Excelente. O Technet tem uma referência - technet.microsoft.com/en-us/library/ee844140(v=ws.10).aspx
William
3

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.

HopelessN00b
fonte