"Файл не найден" Невозможно использовать Invoke-SCScriptCommand ни с чем, кроме cmd.exe + args
Я создал плагин для Microsoft System Center Virtual Machine Manager, который выполняет сценарий powershell на хост-компьютере через сценарий powershell, вызываемый кодом плагина C#. (Shellception:P)
Так как я всегда получал ошибку, я решил проверить ее вручную в SCVMM, щелкнув правой кнопкой мыши на хосте и введя powershell.exe
или же powershell
для исполняемого и export-v -name [name] -path [path] -force - copystate -wait
, Теперь он говорит мне, что нет такого файла. Странно это работает с cmd
(.exe
) а также echo test
, Разве PowerShell не должен быть установлен на Windows Server 2012? Кроме того, если я удаленно управляю хостом, он отлично работает в консоли. Что мне не хватает?
1 ответ
Я понял, что вам нужно указать полный путь при использовании powershell.exe в качестве исполняемого файла. Проблема заключается в том, что не на всех хостах есть системная переменная PATH, которая включает путь к исполняемому файлу powershell.exe.
Вы можете запустить powershell.exe, указав полный путь: %WINDIR%\System32\WindowsPowerShell\v1.0\PowerShell.exe
Или вы можете запустить cmd.exe как исполняемый файл, а затем запустить powershell.exe из этого cmd:
исполняемый файл: параметры cmd.exe: /c powershell.exe echo 1; вернуть 0;