PowerShell Core 6.0 Beta.4


Вы уже можете скачать и протестировать PowerShell Core 6.0 Beta.4!

Из особо приятного — улучшена поддержка модулей Windows PowerShell. Если ещё в Beta.3 половина модулей вообще не загружалась, то сейчас около 80% модулей загружаются успешно — 96 из 113. Ждем исправления бага в .Net Core, что позволит нам загружать модули PS1XML. Первоисточник https://github.com/PowerShell/PowerShell/issues/4062.

Особо надо отметить, что теперь вы можете загружать модули Exchange и Sharepoint! Я уже попробовал их в работе — класс!

Также надо отметить, что оптимизирована работа консоли — теперь она работает быстрее за счет уменьшения количества выводимой служебной информации (esc-последовательностей).

Была добавлена конструкция для указания Unicode-символов `u{unicode-код}. Это работает не только в строковых константах, но и в именах (переменных, функций и т.п.). Первоисточник https://github.com/PowerShell/PowerShell/pull/3958.

 

PowerShell 6 -$env:PSModulePath


PowerShell 6.0 изначально разрабатывается как мультиплатформенный и портированный на Unix системы.

Windows и Unix системы изначально различаются в некоторых вещах. Например, по умолчанию Unix системы практически везде чувствительны к регистру, а Windows нет.

Это касается и переменных окружения. Если в Windows мы можем написать имя переменной окружения в любой комбинации больших и маленьких букв, то на Unix системе поиск переменной окружения будет выполняться с учётом регистра букв. Если мы хотим, чтобы скрипт работал без изменений на обеих плаформах, то используемые имена переменных окружения должны быть в точности одинаковыми и на Windows, и на Unix.

В частности PowerShell использует переменную окружения PSModulePath для поиска модулей. После обсуждения разработчики PowerShell приняли решение, что эта переменная окружения на обеих платформах должна писаться в форме — PSModulePath.