Как заставить PowerShell запускать оригинальный командлет Start-Process, а не командлет PSCX Start-Process? - PullRequest
3 голосов
/ 01 апреля 2010

У меня установлен PowerShell v2.0 и, кроме того, установлен PSCX. PSCX - это расширения сообщества PowerShell (http://pscx.codeplex.com/Wikipage).

Кажется, у меня установлено два командлета с именем Start-Process, и я предполагаю, что один оригинал, а другой - из PSCX. Когда я запускаю Start-Process, командлет PSCX запускается. Как мне заставить 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>] [...

Ответы [ 2 ]

4 голосов
/ 01 апреля 2010

Если вы получаете версию для модуля (бета-версия PSCX 2.0), вы можете не импортировать модуль Pscx.Deprecated, содержащий три командлета PSCX, которые конфликтуют со встроенными командлетами PowerShell: Start-Process, Select- XML и Get-Random. Обратите внимание, что бета-версия PSCX 2.0 представляет собой развертывание xcopy, требующее от вас только этого:

  1. Скачать Pscx-2.0-Beta2.zip
  2. Открыть его свойства в проводнике Windows. и нажмите Разблокировку, расположенную на Вкладка "Общие" Это требуется в противном случае вы получите много ошибок когда вы импортируете модуль.
  3. Извлечение файлов (сохранение папки структура) в ~ \ WindowsPowerShell \ Modules
  4. Модуль импорта Pscx

Вот и все. Если вам нужно снова включить пункт контекстного меню «Открыть PowerShell здесь» в проводнике Windows, выполните команду Enable-OpenPowerShellHere.

3 голосов
/ 01 апреля 2010

У меня есть эти псевдонимы:

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