
Eu tenho um aplicativo que pode executar um script do PowerShell em uma máquina Windows remota. Estou tentando mapear uma unidade de rede usando um script do PowerShell. Quando o mesmo script é executado no endpoint, o script funciona bem e é capaz de mapear uma unidade de rede. Mas quando o mesmo script foi executado em meu aplicativo, o mapeamento de uma unidade de rede foi feito, mas como uma unidade de rede desconectada.
Agora, minhas observações: descobri que meu aplicativo está executando o script com NT Authority\System
conta. Pode ser por isso que a unidade de rede mapeada fica visível para um usuário específico como uma unidade desconectada. estou correcto!!?
Agora, o problema: o que posso fazer para mapear uma unidade de rede disponível para todos os usuários? ou Posso executar meu script do PowerShell como um usuário específico, para que a unidade seja mapeada apenas para esse usuário?
De qualquer forma, já tentei executar meu script do PowerShell como um usuário diferente do meu aplicativo usando Start-Process
e Invoke-Command
, ele gera um erro, diz run, winrm quickconfig
que também não funcionou.
Qualquer ajuda? Estimado!!
Responder1
Quando mapeado da NT Authority\System
unidade aparecerá como desconectado, mas deve funcionar:Mapeie uma unidade de rede para ser usada por um serviço
NOTA: A unidade mapeada recém-criada aparecerá agora para TODOS os usuários deste sistema, mas eles a verão como "Unidade de rede desconectada (Z:)". Não se deixe enganar pelo nome. Pode alegar estar desconectado, mas funcionará para todos.
Além disso, mapear uma unidade usando NT Authority\System
é a única maneira (embora não seja oficialmente suportada) de disponibilizar uma unidade de rede para todos os usuários.
Se você quiser mapear uma unidade para um usuário específico, você terá queexecute o PowerShell como um usuário diferente. Mas também significa que você precisará obter credenciais para esse usuário.
Isso pode ser mitigado pela manipulação de tokens, mas é complicado. VerManipulação de Invoke-Tokenfunção e seu ImpersonateUser
parâmetro.