Совершено недавно открыл для себя эту оболочку. Тут же полез искать книги, которые, кстати, уже перевели и их можно взять отсюда. И все вроде бы хорошо, и код пишется легко и интеграция с vsb-скиптами, но, почему то, тянет меня к мастдайным окнам.
И так, было решено перекрасить окошко PowerShell в стандартный цвет cmd и параллельно настроить автозапуск собственных функций и алиасов. Так же, слегка, напрягало предложения ввода с надписью — PS, которое, совместно с цветом, напоминает лого Adobe Photoshop ( Ничего против Adobe не имею ).
Итак, информация следом исключительно для новичков.
Первым делом запускаем оболочку, видим привычное окно:

Во-первых, нам понадобятся права на запуск отдельных скриптов с расширением ps1.
Посмотреть их можно выполнив команду:
По умолчанию идет политика: Restricted, которая запрещает выполнение любых скриптов.
Тут три варианта.
1. Либо изменить политику на AllSigned и подписывать скрипты ( подробнее можете прочитать выполнив команду get-help about_signing ).
2. Либо именить политику на RemoteSigned, разрещающая запускать все скрипты, за исключением скаченных из сети.
3. Или изменить политику на Unrestricted, позволяющая выполнять любые скрипты, за исключением скаченных, на на выполнение которых будет выдаваться запрос.
Я выбрал второй путь, он, все же, безопасней. Поэтому меняем политику командой:

Получаем запрос на изменение политики на который нужно ответить Y(да).
Во-вторых, создадим скрипт, который будет запускаться вместе с PowerShell:
По идее, на данном моменте может выскочить вот такая ошибка:

Но ничего страшного, оболочка пишет что не существует папки WindowsPowerShell в Моих Документах, создадим её и повторим команду:

Как мы видим, создался пустой файл с названием Microsoft.PowerShell_profile.ps1.
Половину работы мы сделали. У нас есть права на выполнение скриптов и создан скрипт, подгружающийся по умолчанию.
В-третьих, нам нужно научиться получать и изменять информацию об оболочке.
Командлет Get-Host как раз таки этим и занимается:

Свойство UI на самом деле является объектом, и если мы введем (Get-Host).UI, то увидим, что у этого объекта так же есть свойство RawUI, которое как раз и содержит нужные нам настройки:

Изменять эти настройки можно так:
Важно, для того чтобы измененые настройки сразу отображались на экране, нам необходимо прописать алиес cls отвечающий за очистку экрана.
Это, конечно же все круто, но настройки сбрасываются если закрыть окно, поэтому запишем их в файл, который загружается с оболочкой на старте. Редактируем файл Microsoft.PowerShell_profile.ps1 примерно так:
А теперь коротко по коду.
Первые 4-ре свойства отвечают за настройку окна, после установки свойств делаем обязательное очищение — cls.
Cd $MyRoot; — отвечает за то, в каком каталоге при загрузке оболочки мы окажемся.
Функция promt — стандартная видоизмененная функция, которая отвечает за вид строки ввода. Я убрал PS и добавил свой ник.
Сохраняем файл, перезапускаем оболочку.
Выглядит это вот так:

Ну и на последок, в файл Microsoft.PowerShell_profile.ps1 вы можете легко написать свои алиесы. Допустим
Всем спасибо, удачи в освоении этой прекрасной оболочки.
И так, было решено перекрасить окошко PowerShell в стандартный цвет cmd и параллельно настроить автозапуск собственных функций и алиасов. Так же, слегка, напрягало предложения ввода с надписью — PS, которое, совместно с цветом, напоминает лого Adobe Photoshop ( Ничего против Adobe не имею ).
Итак, информация следом исключительно для новичков.
Первым делом запускаем оболочку, видим привычное окно:

Во-первых, нам понадобятся права на запуск отдельных скриптов с расширением ps1.
Посмотреть их можно выполнив команду:
Get-ExecutionPolicy
По умолчанию идет политика: Restricted, которая запрещает выполнение любых скриптов.
Тут три варианта.
1. Либо изменить политику на AllSigned и подписывать скрипты ( подробнее можете прочитать выполнив команду get-help about_signing ).
2. Либо именить политику на RemoteSigned, разрещающая запускать все скрипты, за исключением скаченных из сети.
3. Или изменить политику на Unrestricted, позволяющая выполнять любые скрипты, за исключением скаченных, на на выполнение которых будет выдаваться запрос.
Я выбрал второй путь, он, все же, безопасней. Поэтому меняем политику командой:
Set-ExecutionPolicy RemoteSigned

Получаем запрос на изменение политики на который нужно ответить Y(да).
Во-вторых, создадим скрипт, который будет запускаться вместе с PowerShell:
New-Item -type file $PROFILE
По идее, на данном моменте может выскочить вот такая ошибка:

Но ничего страшного, оболочка пишет что не существует папки WindowsPowerShell в Моих Документах, создадим её и повторим команду:

Как мы видим, создался пустой файл с названием Microsoft.PowerShell_profile.ps1.
Половину работы мы сделали. У нас есть права на выполнение скриптов и создан скрипт, подгружающийся по умолчанию.
В-третьих, нам нужно научиться получать и изменять информацию об оболочке.
Командлет Get-Host как раз таки этим и занимается:

Свойство UI на самом деле является объектом, и если мы введем (Get-Host).UI, то увидим, что у этого объекта так же есть свойство RawUI, которое как раз и содержит нужные нам настройки:
(Get-Host).UI.RawUI

Изменять эти настройки можно так:
(Get-Host).UI.RawUI.WindowTitle = “Окно”
(Get-Host).UI.RawUI.BackgroundColor = “Black”
cls
Важно, для того чтобы измененые настройки сразу отображались на экране, нам необходимо прописать алиес cls отвечающий за очистку экрана.
Это, конечно же все круто, но настройки сбрасываются если закрыть окно, поэтому запишем их в файл, который загружается с оболочкой на старте. Редактируем файл Microsoft.PowerShell_profile.ps1 примерно так:
# We to Hell?! - Is't WorldCount!
# Изменяем настройки окна
(Get-Host).UI.RawUI.ForegroundColor="Gray";
(Get-Host).UI.RawUI.backgroundColor="Black";
(Get-Host).UI.RawUI.CursorSize=10;
(Get-Host).UI.RawUI.WindowTitle="WorldCount Console";
# Очищаем экран
cls
# Выводим приветствие
echo " ";
echo "Привет, WorldCount!";
echo " ";
echo " ";
# Устанавливаем начальный каталог
$MyRoot = "C:\Shell\";
CD $MyRoot;
# Вид предложения ввода
function prompt
{
"[WorldCount:] " + $(get-location) + "> "
}
А теперь коротко по коду.
Первые 4-ре свойства отвечают за настройку окна, после установки свойств делаем обязательное очищение — cls.
Cd $MyRoot; — отвечает за то, в каком каталоге при загрузке оболочки мы окажемся.
Функция promt — стандартная видоизмененная функция, которая отвечает за вид строки ввода. Я убрал PS и добавил свой ник.
Сохраняем файл, перезапускаем оболочку.
Выглядит это вот так:

Ну и на последок, в файл Microsoft.PowerShell_profile.ps1 вы можете легко написать свои алиесы. Допустим
set-alias WeToFuck Get-Process
Всем спасибо, удачи в освоении этой прекрасной оболочки.