Aqui está uma abordagem alternativa sugerida por alguém mais experiente do que eu.
Em vez de tentar executar o comando diretamente, crie um único trabalho agendado na máquina remota e tente executá-lo dessa maneira.
Eu tento automatizar a instalação remota do ImDisk.
Comecei com experimentos locais.
No início, para evitar o problema de hop duplo do kerberos, copio imdiskinst.exe do compartilhamento UNC para a pasta local C:\temp\
.
Então eu corro o powershell:
$imdiskinstPath = "C:\temp\imdiskinst.exe"
Unblock-File $imdiskinstPath
Invoke-Command -Computername localhost -Scriptblock {
$env:IMDISK_SILENT_SETUP="1";
Start-Process -FilePath $imdiskinstPath -ArgumentList "-y" -Wait -PassThru
}
E a instalação realmente é executada no servidor remoto - eu posso vê-lo pelo ProcessExplorer se não definir o IMDISK_SILENT_SETUP, então no final ele pergunta sobre o sucesso. Mas quando o processo terminar, o ImDisk não está instalado.
E se eu executar o mesmo script sem -Computername localhost
, eu o fiz.
Eu tentei localmente, realmente remotamente, usando PsExec em vez de Invoke-Command e até mesmo encontrei o conselho para extrair explicitamente o instalador e fazer todas as outras coisas manualmente. Mas por que? Parece estranho. O que há de errado com a instalação remota?
Aqui está uma abordagem alternativa sugerida por alguém mais experiente do que eu.
Em vez de tentar executar o comando diretamente, crie um único trabalho agendado na máquina remota e tente executá-lo dessa maneira.
Tags installation remote powershell