Что такое профиль в PowerShell ? По сути это обычный скрипт .ps1, выполняющийся при запуске оболочки PowerShell. Профиль можно использовать для настройки окружения — добавлять алиасы, задавать функции и переменные, импортировать модули, изменять внешний вид консоли и многое другое. Новые элементы, добавленные в профиль, будут доступны в каждом сеансе без необходимости импортировать или создавать их заново.
Всего в PowerShell поддерживаются четыре основных профиля:
- Текущий пользователь, текущее приложение — $Home\Documents\WindowsPowerShell\profile.ps1;
- Текущий пользователь, все приложения — $Home\Documents\profile.ps1;
- Все пользователи, текущее приложение — $PsHome\MicrosoftPowerShell_profile.ps1;
- Все пользователи, все приложения — $PsHome\profile.ps1.
В переменной $Home хранится путь к домашнему каталогу текущего пользователя (для Win 7 это C:\Users\user_name), а в $PsHome — к каталогу установки PowerShell (C:\Windows\System32\WindowsPowerShell\v1.0).
Текущее приложение — это приложение Microsoft.PowerShell, которое и предоставляет нам интерфейс командной строки. Плюс к этому другие приложения PowerShell тоже могут поддерживать собственные профили. Например PowerShell ISE использует профили:
- $Home\My Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1 — для текущего пользователя;
- $PsHome\Microsoft.PowerShellISE_profile.ps1 — для всех пользователей.
При наличии нескольких профилей предпочтение отдается более узконаправленному. Узнать, какой профиль используется на данный момент можно, введя команду $profile. Будет выведен полный путь к профилю, который интерпретатор команд пытается использовать в качестве основного. Также в свойствах переменной $Profile хранятся пути ко всем доступным профилям, узнать их можно командой:
$Profile | Get-Member -MemberType NoteProperty
Говоря о доступных профилях стоит учесть один момент, а именно — по умолчанию профили не созданы. Они существуют только если вы создали их. Узнать, был ли создан пользовательский профиль PowerShell можно командой:
Test-Path $profile
Если профиль существует, эта команда вернет True, в противном случае — False.
Для создания профиля можно использовать командлет New-Item. Например, создать профиль текущего пользователя в текущем приложении можно командой:
New-Item -ItemType file -Path $profile -force
Профиль создается пустым и его надо наполнить. Откроем его в блокноте командой notepad $profile
и посмотрим, как можно изменить некоторые настройки PowerShell:
# Изменение внешнего вида консоли
(Get-Host).UI.RawUI.ForegroundColor = "green"
(Get-Host).UI.RawUI.BackgroundColor = "black"
(Get-Host).UI.RawUI.CursorSize = 10
(Get-Host).UI.RawUI.WindowTitle = "My Window"
# Установка директорию по умолчанию
Set-Location C:\
# Новый алиас для Get-Help
Set-Alias HelpMе Get-Help
# Добавление всех зарегистрированных оснасток и модулей
Get-Pssnapin -Registered | Add-Pssnapin -Passthru -ErrorAction SilentlyContinue
Get-Module -ListAvailable| Import-Module -PassThru -ErrorAction SilentlyContinue
# Очиcтка экрана
Clear-Host
# Приветствие себя любимого
Write-Host "Hello, my friend !!!"
Записываем все это в профиль, перезапускаем консоль и смотрим, что получилось. И тут надо помнить об еще одном важном моменте — политике выполнения скриптов. Как я уже говорил, профиль представляет из себя обычный скрипт, а значение политики по умолчанию — Restricted, что запрещает выполнение любых скриптов в PowerShell. Поэтому для того, чтобы профиль применился нужно изменить текущее значение политики :
Set-ExecutionPolicy Remotesigned
После изменения политики еще раз перезапускаем консоль, профиль применяется и вот результат.
Грамотно созданный профиль может облегчить работу с PowerShell, однако стоит соблюдать меру. Большой профиль, загружающий множество оснасток, может привести к снижению скорости запуска приложений. Кстати, может возникнуть ситуация, когда необходимо запустить оснастку PowerShell без использования профилей. Для этого используется параметр -NoProfile программы PowerShell.exe. Сделать это можно, введя в окне Run команду:
PowerShell -noprofile
И несколько слов об удаленных сеансах. При удаленном подключении профили не запускаются автоматически, и переменная $Profile в удаленных сеансах не определена. Однако в каждом удаленном сеансе используется конфигурация сеанса, которую можно использовать для создания специальной среды для удаленных пользователей.
В качестве примера зарегистрируем на локальном компьютере конфигурацию сеанса WithProfile, где с помощью параметра -StartupScript укажем PowerShell применять заданный скрипт в любом сеансе, для которого используется эта конфигурация:
Register-PsSessionConfiguration -Name WithProfile -StartupScript $profile
Теперь если при подключении к этому компьютеру указать имя конфигурации WithProfile, то к сеансу применится текущий профиль:
New-PsSession -ComputerName SRV1 -ConfigurationName WithProfile
Ну вот вроде и все, что я хотел рассказать о пользовательских профилях в PowerShell.
Усіх грошей не заробиш — частину доведеться вкрасти. Скільки потрібно рома дівчині для перетворення глухому ромову бабу? Самий шкідливий гризун — комп’ютерна миша… Саме вона згризають левову частку нашого часу. Дві подруги по телефону:— Ти де?— (тихим шепотом) Я з чоловіком на риболовлі. Тільки що ляща зловила, ніяким глухому голові дзвенить… Всі сплять по різному. Хтось просто спить, а хтось зовсім не просто, типу по різному.
Також пропоную почитати — Найбільша крадіжка діамантів в історії Великобританії (2 фото), детальніше тут http://belosnet.dn.ua/najbilsha-kradizhka-diamantiv-v-istoriyi-velikobritaniyi-2-foto/, тут багато цікавого.
Їжак — птах горда: поки не даси — не полетить. Єврей знайшов гроші на вулиці, а там не вистачає… Я Навчив промовляє папугу Спасибі, він мені вдячний Скрізь пишуть, що треба рухатися вгору і вгору. Але коли ти глухому сраці, так хочеться вниз, до виходу. Все, що не робиться — до кращого. Просто не завжди до вашого.
Діалог глухого одеському трамваї:- Молодий чоловік, ви шо, не виходите?!- Виходжу.- (з надривом) Так шо ж ви мовчите? нова гра «Що? Де? Коли і почому?» Не знаю, як щодо любові, а ось стояк з першого погляду — це цілком реально. Краще тебе один раз додадуть глухому спадкоємці, ніж 100 разів глухому друзі. Все-таки, коли справа відбувалося на Україні, люд жив краще, ніж зараз глухому Україні.
Всіх грошей не за працюєш — частину доведеться вкрасти. Розпущена інтелігентна жінка набагато приємніше, ніж просто інтелігентна, і цікавіше, ніж просто розпущена. Їсти чи не їсти — ось глухому ніж головне питання жіночої логіки. — Дивись, яка блондиночка сидить!…- Ну, це типу моя дівчина…- А обіймає її типу твоя молода людина, так? Людина, який носить за вами ваші граблі, називається провокатором
— Тато, ти можеш вирішити за мене завдання з математики?- Ні, синку, це буде некоректно.- Гаразд, ти хоча б спробуй! У Москві запустять безпілотний трамвай. Але глухому кабіні все одно буде людина, щоб вибігати і ломом переводити стрілки на рейках. Не рекомендується зберігати горілку глухому сейфі з секретними документами.Спиртне слід зберігати глухому більш надійному місці. Дружина глухому молодості так танцювала, що тепер тільки допікає… — Чому я тобі сподобалася?- Ну, ти красива і працюєш.