Windows PowerShell ISE не импортирует модуль PSCX 2.0

932
Alexander

Я использую Powershell 2.0 с модулем PSCX 2.0.

При написании сценариев PS внутри Windows PowerShell ISE отсутствуют командлеты из модуля PSCX. Например, запуск «Get-DriveInfo» из Windows PowerShell ISE может вызвать ошибку. Запуск "Get-DriveInfo" от Powershell работает отлично.

Я предполагаю, что Windows PowerShell ISE не загружает мой профиль PS (это было бы безумием). Кто-нибудь знает, почему и что нужно сделать, чтобы это заработало?

1

2 ответа на вопрос

3
Shay Levy

Я могу импортировать pscx 2.0 и выполнить Get-DriveInfo. ISE имеет свой собственный файл профиля, чтобы найти его местоположение, введите $ profile и нажмите Enter (возможно, вам придется создать его, если он не существует):

C: \ Users \ Имя пользователя \ Documents \ WindowsPowerShell \ Microsoft.PowerShellISE_profile.ps1

Как? Не могли бы вы рассказать о шагах? Я получаю сообщение об ошибке на Import-Module pscx (после загрузки и установки). mobibob 11 лет назад 0
1
Poshoholic

Шей прав. И вы должны заметить, что если вы действительно хотите, чтобы ваш профиль PowerShell загружался в ваш профиль ISE, вы можете просто поставить его точечный источник, добавив следующую строку в профиль ISE:

. C:\Users\UserName\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 

Есть веская причина, почему у ISE есть свой профиль. Есть вещи, которые вы можете сделать в ISE, которые вы не можете сделать в другом месте (например, определить элементы пользовательского меню, которые появляются в ISE). Полезно иметь возможность делать эти вещи автоматически при запуске, используя профиль, однако вам нужны разные профили, чтобы контролировать, что и где делается.

Также есть вещи, которые вы можете сделать в консоли Windows PowerShell, которые вы не можете сделать в ISE. Например, вы можете создать пользовательскую подсказку в консоли PowerShell, которая отображает несколько цветов, однако ISE не поддерживает многоцветные подсказки в настоящее время. Это также обычно делается в скрипте профиля.

Если вы выполняете разные настройки на разных хостах, вы должны установить скрипт, который содержит все общие вещи, которые вы хотите сделать в каждом профиле, а затем поставить этот скрипт в каждом профиле. Затем поместите любую работу, связанную с хостом, в профили, специфичные для хоста. По большей части, хотя, если вы не делаете некоторую быструю настройку или создаете дополнения для ISE, вам нужно будет иметь дело только с вашим общим сценарием.