我期望通过自动化运行一些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;
}
}
我现在面临的问题是,如果我的脚本使用的cmdlet如write-host
上述抛出System.Management.Automation.CmdletInvocationException
-
因为 当前宿主,并不能实现不能调用此函数 吧。
解决此问题有哪些好的选择?
Scott,我面临同样的问题。你能提供一些关于你如何实施的指导或代码吗? – 2010-11-14 22:24:16
好的,我自己找到了答案:只需继承PSHost,PSHostUserInterface和PSHostRawUserInterface,并让方法不做任何事情/返回null。为了追踪通常会发生的情况,可以记录否则将打印在cmd行的消息/文本。 – 2010-11-15 15:35:07