2011-07-12 56 views
2

在PowerShell腳本我有這樣一行:爲什麼PowerShell的啓動過程需要-passthru在一臺PC上,而不是另一臺?

Start-Process firefox | Wait-Process 180 

它工作得很好。但是,當我將腳本移植到另一臺PC時,它失敗了。我必須將其更改爲

Start-Process -passthru firefox | Wait-Process 180 

因爲默認情況下,Start-Process不產生輸出。我的問題是,第一臺個人電腦如何工作?

兩臺電腦都運行Windows XP SP3,PowerShells聲稱$ host.version爲2 0 -1 -1。我在第一臺PC上安裝了PowerShell社區擴展,但在任何修改了Start-Process cmdlet的地方我都看不到它。另外,Firefox的使用是無關緊要的:其他進程也會發生同樣的情況。

回答

3

IIRC啓動過程在PSCX v1.0中引入。這是你安裝的版本嗎? PowerShell的啓動過程是一個v2命令。

+0

是的,就是這樣。我顯然沒有仔細觀察PSCX發行說明。有趣的是,我剛剛注意到'Get-Command Start-Process'只返回一個結果,但'Get-Help Start-Process'顯示PowerShell版本和PSCX版本。 –

+1

這是因爲命令名稱是唯一的。最後一個加載勝利(在這種情況下,PSCX)。 – JasonMArcher

相關問題