
Я пытаюсь автоматизировать удаленную установку ImDisk. Я начал с локальных экспериментов. Сначала, чтобы избежать проблемы двойного перехода kerberos, я копирую imdiskinst.exe из общего ресурса UNC в локальную папку C:\temp\
. Затем я запускаю 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
}
И установка действительно выполняется на удаленном сервере - я могу это увидеть через ProcessExplorer, если не установить IMDISK_SILENT_SETUP, то в конце он сообщает об успешном завершении. Но когда процесс завершается, ImDisk не устанавливается. И если я выполняю тот же скрипт без -Computername localhost
этого, то он выполняется.
Я пробовал локально, а точнее удаленно, использовать PsExec вместо Invoke-Command и даже нашелсоветявно извлечь установщик и сделать все остальное вручную. Но зачем? Выглядит нелепо. Что не так с удаленной установкой?
решение1
Вот альтернативный подход, предложенный мне кем-то более экспертным, чем я.
Вместо того чтобы пытаться выполнить команду напрямую, создайте запланированное задание на удаленной машине и попробуйте запустить его таким образом.