Por que minha unidade mapeada não persiste para usuários elevados após a reinicialização?

6

Isso está relacionado a esse problema: Prompt de comando no modo Administrador não vê unidades mapeadas

Estou precisando executar um programa (InstallShield) como um usuário elevado, mas esse programa também precisa acessar arquivos localizados em um compartilhamento de rede. Devido a problemas de tamanho máximo do caminho (e legibilidade), eu realmente quero acessar esses arquivos usando uma unidade mapeada (em vez do caminho UNC muito mais longo). No entanto, devido ao problema mencionado acima, a unidade que mapeei (por meio do Windows Explorer) não é reconhecida.

Infelizmente, o hack de registro EnableLinkedConnections recomendado não parece funcionar para mim. Em vez disso, posso fazer com que as coisas funcionem (temporariamente) mapeando a unidade por meio de um prompt de comando elevado, usando o seguinte comando: net use Z: \machine\path /persistent:yes

O problema é que essa unidade mapeada não persiste (apesar do parâmetro /persistent:yes ) após a reinicialização. Concedido eu posso apenas remapear rapidamente através de um script que eu corro manualmente, mas eu imagino que deve haver uma maneira melhor.

Eu não sei como executar automaticamente os scripts de login como o usuário elevado, caso contrário eu tentaria isso. Também estou me perguntando por que o comando net use não está persistindo como esperado.

Como isso pode ser relevante, essa é uma máquina virtual do Windows 8.1. Além disso, o compartilhamento de rede que estou tentando mapear e acessar persistentemente é fornecido pelo VMware Workstation (por meio do recurso opcional Shared Folders).

Eu estou querendo saber se isso é talvez um problema de tempo? (veja Por que as unidades mapeadas reaparecem somente depois de sair e voltar, e não depois de uma reinicialização? )

Atualizar

Consegui encontrar uma solução alternativa, embora ainda não tenha uma resposta de por que o mapeamento não persiste em primeiro lugar.

De qualquer forma, configurei uma tarefa agendada simples no Windows para executar um arquivo de lote no login. Esse arquivo em lotes mapeia o compartilhamento de rede para a letra da unidade desejada (por meio do mesmo comando net use ). Também assegurei que a configuração da tarefa Executar com privilégios mais altos estava marcada. Voila! Agora, processos elevados podem ver e acessar minha unidade mapeada, mesmo após a reinicialização.

    
por Jeremy 14.01.2016 / 19:04

2 respostas

1

Estamos enfrentando problemas semelhantes e acabamos usando o agendador de tarefas da seguinte maneira:

schtasks /create /tn "my_mount" /tr "net use V: \hostname\path /persistent:yes" /sc onstart
    
por 16.06.2016 / 19:08
1

Eu tive um problema semelhante e estas foram as etapas que realizei em toda a rede e todos os PCs em que fiz esse trabalho mantiveram o mapeamento após a reinicialização. (Eu não queria usar um arquivo de lote, pois isso forneceria a senha do administrador aos usuários, caso encontrassem o arquivo.)

  1. Na estação de trabalho, após uma reinicialização, clique duas vezes na unidade mapeada desconectada. Digite o nome de usuário e o login da senha do Administrador para ativar o mapeamento. A unidade será mapeada com sucesso.
  2. Abra um prompt de comando.
  3. Digite o seguinte comando: net use \ nome_do_computador \ sharedfoldername administratorpassword / user: administratorloginname / persistent: yes
  4. Normalmente, há uma mensagem de erro dizendo que isso não pode ser feito várias vezes; no entanto, desconsidere a mensagem de erro.
  5. Reinicie o computador.
  6. Descobri que a unidade sempre será permanentemente mapeada após esse procedimento, independentemente das reinicializações.

Exemplo de sintaxe:

  • Nome do computador: ABCD123-DT
  • Nome de login do administrador: Admin
  • Senha: 321DCBA!
  • Nome da pasta compartilhada: SharedData

c: > net use \ abcd123-d \ SharedData 321DCBA! / user: administrador / persistente: sim

NOTA: Se você quiser a confirmação do seu sucesso antes de reiniciar, no prompt de comando, digite net use e pressione enter, você deverá ver a unidade mapeada listada.

    
por 28.10.2016 / 17:05