1

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

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

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

2 ответа2

3

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

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

1

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

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .