В настоящее время я работаю над сценарием для обновления удаленной машины через Powershell, для этого я использую dcu-cli.exe.
Он отлично работает, если запущен непосредственно на локальной машине, например:
"C:\Program Files (x86)\Dell\CommandUpdate\dcu-cli.exe" /ApplyUpdates
Но при использовании в Invoke-Command скрипт зависает навсегда...
Итак, чтобы устранить неполадки в моем скрипте, я хотел бы увидеть живой вывод команды выше...
Когда вы запускаете dcu-cli.exe в cmd, вы видите ход выполнения в графическом интерфейсе cmd, есть ли какие-либо возможности перенаправить вывод в реальном времени в мою подсказку Powershell?
У меня также был бы вопрос относительно синтаксиса dcu-cli, так как вот мои мысли для полного обновления:
Invoke-command -computername $Computer -credential $CredObject -Scriptblock {
cmd /c start /wait "" "C:\Program Files (x86)\Dell\CommandUpdate\dcu-cli.exe" -argumentlist
/configure -biosPassword="$usingBIOSPWD" ;
cmd /c start /wait "" "C:\Program Files (x86)\Dell\CommandUpdate\dcu-cli.exe" -argumentlist /ApplyUpdates }
Выше скрипт зависает без ошибок... Я бы хотел, чтобы он сначала сохранил пароль биоса из моих переменных скрипта, а затем запускал все обновления.
Проблема в том, что dcu-cli.exe иногда не принимает свои собственные переключатели (пока я пробую все возможные варианты... Start-process; cmd; &.....) Возможно ли при запуске cmd через powershell для увидеть живой вывод cmd?
Если я запускаю dcu-cli с cmd, он работает нормально, но я не уверен, как передать объект и переменную в пакет или любым другим способом, который позволил бы мне увидеть ход установки...
Любая помощь будет принята с благодарностью, так как я работаю над этим в течение нескольких недель, и я новичок в Powershell :)
PS: Да, я уже использовал Google об этом