我期望通過自動化運行一些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