2009-12-02 55 views
0

我從C#調用執行PowerShell腳本(如..的Process.Start(powershell.exe file.ps1);)PowerShell的異步啓動

notepad.exe filename 

然而,這似乎要禁止腳本完成,如直到記事本對話框關閉纔會觸發完成事件。

有沒有辦法讓我啓動notepad.exe,但讓腳本完成執行。也許是我錯過了一個PowerShell的東西。最好是這樣的,它允許file.ps1的其餘部分被阻塞,而該行是異步的。

回答

1

如果您可以使用PowerShell 2.0,然後去後臺作業(PsJob)。

PsJob異步運行命令或表達式,並在不與控制檯交互的情況下「在後臺」 。命令提示符立即返回並且 您可以方便地查詢作業結果。您可以在本地或遠程計算機上運行背景 作業。

此外,檢查:

Is it possible to call powershell cmdlets asynchronously?

+0

不能切換到2.0。這是針對生產環境的。 – maxfridbe 2009-12-02 22:19:32