Как запускать сценарии PowerShell с помощью автоматизации, не сталкиваясь с проблемами хоста
Я хочу запустить некоторые сценарии 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
-
Невозможно вызвать эту функцию, потому что текущий хост не реализует ее.
Какие есть хорошие варианты для решения этой проблемы?