2011-07-12 28 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

相关问题