Я работаю над меню, которое вызывает сценарии PowerShell с wscript.shell
и ActiveX. Я передаю три переменные в wshshell.Run
:
scriptID
, имя файла ps1,vmName
— имя виртуальной машины, на которой будет действовать скрипт, иcheckstate
, который является состоянием флажка, связанного с пунктом меню.
Вот мой текущий нерабочий код:
WshShell = new ActiveXObject("Wscript.Shell");
WshShell.Run("powershell.exe -file " & scriptID & " " & vmName & " " & checkstate, 7, true);
При этом всегда возникает ошибка «Система не может найти указанный файл».
Я попытался следовать синтаксису, упомянутому здесь и здесь безуспешно. Оба кажутся многообещающими, но выдают ту же ошибку, что и выше.
Я протестировал переменные и просто запустил:
WshShell.Run("powershell.exe -file test.ps1", 7, true)
который работает, но
WshShell.Run("powershell.exe -file " & "test.ps1", 7, true)
терпит неудачу.