Я хочу запустить некоторые сценарии PowerShell с помощью автоматизации. Что-то вроде:
IList errors;
Collection<PSObject> res = null;
using (RunspaceInvoke rsi = new RunspaceInvoke())
{
try
{
res = rsi.Invoke(commandline, null, out errors);
}
catch (Exception ex)
{
LastErrorMessage = ex.ToString();
Debug.WriteLine(LastErrorMessage);
return 1;
}
}
Проблема, с которой я сталкиваюсь, заключается в том, что если мой сценарий использует такие командлеты, как write-host
, вышеприведенное выдает System.Management.Automation.CmdletInvocationException
-
Невозможно вызвать эту функцию, потому что
текущий хост не реализует
это.
Какие есть хорошие варианты решения этой проблемы?