#c# #powershell #automation #powershell-core
Вопрос:
Я пытаюсь вызвать существующий сценарий powershell с помощью System.Management.Автоматизация.Пакет PowerShell, как показано ниже.
using (System.Management.Automation.PowerShell ps = System.Management.Automation.PowerShell.Create()) { ps.AddCommand("customscript.ps1") .AddParameter("param1", "value1"); try { var result = ps.Invoke(); CommonOutput.ErrorOutput("pass"); } catch (Exception ex) { Console.WriteLine(ex.Message); CommonOutput.ErrorOutput("wrong"); } }
Сценарий powershell импортирует другой модуль powershell и использует инструкции, как показано ниже, импорт выдает ошибку, указывающую, что путь к модулю не найден.
import (moduleName)
Если я изменю оператор импорта в PSScript, добавив UseWindowsPowerShell
переключатель, как показано ниже, он будет работать нормально.
import (moduleName) -UseWindowsPowerShell
Как мы можем обработать этот переключатель во время выполнения перед вызовом ps.invoke()