O prompt de linha de comando elevado não pode acessar as unidades compartilhadas

56
  1. Mapeio um compartilhamento de outra máquina usando minha conta de usuário.
  2. Eu inicio um prompt de comando com privilégios elevados (cmd.exe, clique direito, Executar como administrador).
  3. Navegar para a unidade compartilhada (Z :) resulta em:

The system cannot find the drive specified

Agora, se eu abrir um prompt de comando não elevado, posso navegar para Z: muito bem.

    
por mindless.panda 14.10.2010 / 14:04

6 respostas

44

Abrir um Windows Explorer como administrador e recriar os compartilhamentos de rede não funcionou para mim. Então, encontrei esta solução: crie o compartilhamento no próprio prompt de comando. Funcionou para mim.

net use f: \remoteserver\subfolder      

Mesmo que a unidade já esteja mapeada no Windows Explorer, ainda assim funcionou.

Nota: use apenas uma barra invertida antes da subpasta

    
por 18.06.2013 / 04:06
24

Provavelmente, isso não é um problema de permissões de arquivo, mas está relacionado a:

  • Compartilhamentos de rede associados a sessões (ou seja, usuários diferentes podem ter um conjunto diferente de compartilhamentos de rede). Observe que um usuário pode ter mais de uma sessão.
  • Como o Controle de Conta de Usuário funciona.

Como quase todos os usuários usavam uma conta de administrador no XP (a maioria dos programadores não se preocupava em fazer com que seus programas funcionassem com contas limitadas), a Microsoft fez uma "versão limitada" de contas de administrador a partir do Vista, e em algumas situações duas "versões" contam como usuários diferentes (já que são sessões separadas).

Tente iniciar um Windows Explorer elevado (por exemplo, um Windows Explorer iniciado com "Executar como administrador") e recrie todos os compartilhamentos de rede, o que deve funcionar.

O motivo para recriar os compartilhamentos é explicado nesta entrada do blog do MSDN:

Mapeado Unidades de Rede com o UAC no Windows Vista

Editar: bits relevantes da entrada do blog (ênfase minha):

To simplify things, let's assume you are running as an administrator with UAC enabled (although, to be more secure, it is better to run as a standard user). When you log in, you create a new token. We then detect that you have UAC enabled, we log in a second time, and end up with a new (highly restricted) token, which we use to launch the shell. There are two separate login events.
(...)
This convenience feature makes it easier to run into issues with mapped network drives. Prior to Windows 2000 SP2, device names remained globally visible until explicitly removed or the system restarted. For security reasons, we modified this behavior beginning with Windows 2000 SP2. From this point forward, all devices are associated with an authentication ID (LUID) - an ID generated for each logon session.
(...)
Because these mapped drives are associated with LUID, and because elevated applications are using a different LUID generated during a separate login event, the elevated application will no longer see any mapped drives for this user.

    
por 24.10.2010 / 15:39
4

A resposta de Alberto Martinez descreve por que a unidade de rede mapeada não está acessível.

Aqui está correção de registro para resolver o problema:

  • Abra o regedit e vá para HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
  • Adicione um novo valor DWORD (32 bits) chamado EnableLinkedConnections .
  • Ajuste o valor para 1 (ou 00000001).

Saia do regedit e reinicie o computador.

    
por 30.06.2017 / 22:03
1

I map a share from another machine using my user account.

essa unidade de rede está disponível APENAS na conta de usuário mapeada na unidade de rede.

    
por 11.03.2012 / 17:09
0

Inicie o cmd como administrador, digite o comando net use z: \net\path /persistent:yes e pronto. Outra coisa que fiz, e isso está se estendendo além da pergunta do op, foi depois de fixar o cmd na barra de tarefas e em properties- > Advanced configurando-o para ser executado como admin, adicionei / K z: ao final do 'target 'caixa de texto, por isso, tornou-se: %windir%\system32\cmd.exe /K z: . Porque definir o parâmetro "Iniciar em" não parece funcionar. Isso resultou em um ícone na minha barra de tarefas que inicia uma janela cmd como admin e com o prompt na unidade mapeada. E não se esqueça de acessar as propriedades novamente e personalizar a fonte, as cores, o tamanho e a posição da janela, bem como o buffer de rolagem de texto e os tamanhos de buffer do histórico de comandos!

    
por 30.11.2015 / 09:20
-2

Verifique seu caminho de rede e desconecte a unidade mapeada (Z :) Execute o CMD como administrador, uma vez lá, use o comando "net use" para mapear a unidade novamente. net use Z: \ SharePath tente acessar novamente.

    
por 05.05.2015 / 17:08