Профили Windows PowerShell
При добавлении псевдонимы, функции и переменные на самом деле добавляются только в текущий сеанс Windows PowerShell. При завершении сеанса или закрытии Windows PowerShell сделанные изменения утрачивают силу.
Для сохранения изменений можно создать профиль Windows PowerShell и добавить в него нужные псевдонимы, функции и переменные. Профиль загружается при каждом запуске Windows PowerShell.
Чтобы можно было загрузить профиль, действующая политика выполнения Windows PowerShell должна допускать загрузку конфигурационных файлов. Если она не позволяет загружать конфигурационные файлы, попытка загрузить профиль не удастся и оболочка Windows PowerShell отобразит сообщение об ошибке.
Основные сведения о профилях
Оболочка Windows PowerShell позволяет пользователю иметь четыре разных профиля. Ниже они указаны в том порядке, в котором они загружаются. Если в конкретной ситуации могут быть использованы несколько профилей, предпочтение отдается более узконаправленному.
%windir%\system32\WindowsPowerShell\v1.0\profile.ps1
Действие этого профиля распространяется на всех пользователей и все оболочки.
%windir%\system32\WindowsPowerShell\v1.0\ Microsoft.PowerShell_profile.ps1
Действие этого профиля распространяется на всех пользователей, но только на одну оболочку — Microsoft.PowerShell.
%UserProfile%\My Documents\WindowsPowerShell\profile.ps1
Действие этого профиля распространяется только на текущего пользователя и на все оболочки.
%UserProfile%\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Действие этого профиля распространяется только на текущего пользователя и только на оболочку Microsoft.PowerShell.
Создание профиля
При создании или импорте переменные, псевдонимы функции или оснастки Windows PowerShell при добавлении добавляются только в текущий сеанс. При завершении сеанса или закрытии окна они исчезают.
Для сохранения и обеспечения доступности во всех сеансах добавьте в профиль Windows PowerShell постоянно используемые переменные, псевдонимы, функции и команды.
Можно также создавать и распространять профили для обеспечения согласованного представления оболочки Windows PowerShell в крупных средах.
Автоматически профили Windows PowerShell не создаются. Чтобы создать профиль, создайте текстовый файл с одним из указанных выше имен в указанном месте. Обычно при работе с оболочкой Windows PowerShell используется профиль, специфичный для пользователя и оболочки, который называется пользовательским профилем. Данные о расположении этого профиля хранятся в переменной $profile.
Для вывода пути к профилю Windows PowerShell введите команду:
$profile
Чтобы узнать, был ли создан пользовательский профиль Windows PowerShell, введите следующую команду:
test-path $profile
Если профиль существует, эта команда вернет True, в противном случае — False.
Для создания файла профиля Windows PowerShell введите следующую команду:
new-item -path $profile -itemtype file -force
Чтобы открыть профиль в Блокноте, введите следующую команду:
notepad $profile
Чтобы создать какой-либо из других профилей, например профиль, действие которого распространяется на всех пользователей и все оболочки, введите следующую команду:
new-item -path $env:windir\System32\WindowsPowerShell\v1.0\profile.ps1 -itemtype file -force
Профиль работает, только если файл располагается точно по тому же пути и имеет точно такое же имя файла, как указано в переменной $profile. Поэтому при создании профиля в Блокноте и его сохранении или при копировании профиля на компьютер нужно обязательно использовать путь и имя файла, указанные в переменной $profile.
Если профиль создается в Блокноте, имя файла нужно заключить в кавычки, чтобы сохранить расширение файла PS1. Пример.
"Microsoft.PowerShell_profile.ps1"
Если не заключить имя файла в кавычки, Блокнот дополнит его расширением TXT и оболочка Windows PowerShell не сможет распознать файл.
В профиле обычно хранятся псевдонимы, функции и переменные, используемые чаще всего. Очень полезной является функция, открывающая профиль в любимом текстовом редакторе пользователя. Например, следующая команда создает функцию pro, которая открывает пользовательский профиль в Блокноте:
function pro { notepad $profile }
Грамотно созданный профиль может упростить использование оболочки Windows PowerShell и администрирование системы.