Próbuję zautomatyzować zdalną instalację ImDisk. Zacząłem od lokalnych eksperymentów. Na początku, aby uniknąć problemu podwójnego przeskoku Kerberos, kopiuję imdiskinst.exe z udziału UNC do folderu lokalnego C:\temp\
. Następnie uruchamiam 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
}
I instalacja naprawdę wykonuje się na zdalnym serwerze - widzę to przez ProcessExplorer, jeśli nie ustawię IMDISK_SILENT_SETUP, więc na koniec wyświetla monit o sukces. Ale po zakończeniu procesu ImDisk nie jest instalowany. A jeśli wykonam ten sam skrypt, nie -Computername localhost
zrobię tego.
Próbowałem lokalnie, naprawdę zdalnie, używając PsExec zamiast Invoke-Command, a nawet znalazłem poradę, aby jawnie wyodrębnić instalator i zrobić wszystkie inne rzeczy ręcznie. Ale dlaczego? Wygląda niezręcznie. Co jest złego w instalacji zdalnej?
Mandatory Label\High Mandatory Level
Odpowiedzi:
Oto alternatywne podejście zaproponowane mi przez kogoś bardziej doświadczonego niż ja.
Zamiast próbować uruchomić polecenie bezpośrednio, utwórz pojedyncze zaplanowane zadanie na zdalnym komputerze i spróbuj je uruchomić w ten sposób.
źródło