簡體   English   中英

如何將事件綁定到Powershell命令輸出流?

[英]How to bind event to powershell command output stream?

使用PowerShell對象,我知道如何異步調用cmdlet並綁定在數據作為輸出到達時觸發的事件。

PowerShell PowerShellInstance = PowerShell.Create();
//Add necessary commands
PSDataCollection<PSObject> outputCollection = new PSDataCollection<PSObject>();
outputCollection.DataAdded += outputCollection_DataAdded;
IAsyncResult result = PowerShellInstance.BeginInvoke<PSObject, PSObject>(null, outputCollection);

void outputCollection_DataAdded(object sender, DataAddedEventArgs e)
{
    //process output where sender is that outputCollection
}

如何以同步方式執行相同操作。 [注意:我應該使用Runspacepool,可以將其指定為PowerShellInstance的Runspacepool屬性]

為了實現我的目標,我應該使用Invoke方法的變體。 http://msdn.microsoft.com/en-us/library/hh459547%28v=vs.85%29.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM