Como executar um script do PowerShell a partir de um aplicativo remoto como um usuário específico

Como executar um script do PowerShell a partir de um aplicativo remoto como um usuário específico

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\Systemconta. 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-Processe Invoke-Command, ele gera um erro, diz run, winrm quickconfigque também não funcionou.

Qualquer ajuda? Estimado!!

Responder1

Quando mapeado da NT Authority\Systemunidade 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 ImpersonateUserparâmetro.

informação relacionada