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
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.
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
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.)
Exemplo de sintaxe:
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.