2010-04-01 44 views
3

我安装了PowerShell v2.0,并在其上安装了PSCX。 PSCX是PowerShell社区扩展(http://pscx.codeplex.com/Wikipage)。如何让PowerShell运行原始的Start-Process cmdlet而不是PSCX Start-Process cmdlet?

似乎我有两个名为Start-Process的cmdlet已安装,我猜一个是原始的,另一个来自PSCX。当我调用Start-Process时,PSCX cmdlet会运行。 如何让PowerShell运行原始版本?

有用的证据:

当我运行get-help start-process我得到:

Name        Category Synopsis 
----        -------- -------- 
Start-Process      Cmdlet PSCX Cmdlet: Starts a new process. 
Start-Process      Cmdlet Starts one or more processes on the local computer. 

当我运行get-command start-process我得到:

CommandType  Name               Definition 
-----------  ----               ---------- 
Cmdlet   Start-Process             Start-Process [[-Path] <String>] [[-Arguments] <String>] [... 

回答

4

如果您抓取基于模块的版本(PSCX 2.0 Beta),则可以选择不导入包含与内置PowerShell cmdlet冲突的三个PSCX cmdlet的Pscx.Deprecated模块:Start-Process,Select-Xml和Get-Random。注意PSCX 2.0测试版的XCOPY部署要求你只能这样做:

  1. 下载Pscx-2.0-Beta2.zip
  2. 在Windows资源管理器 打开其属性,并按下阻止位于 一般标签。这是必需的 否则当你导入模块时你会得到很多错误 。
  3. 解压文件(保存的文件夹 结构)转换成 〜\ WindowsPowerShell \模块
  4. 导入模块Pscx

就是这样。如果您需要在Windows资源管理器中重新启用“Open PowerShell Here”上下文菜单条目,则运行命令Enable-OpenPowerShellHere

3

我有这些别名设置:

new-alias start-pscxprocess pscx\start-process 
new-alias start-msprocess microsoft.powershell.management\start-process