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.

 

Task Scheduler и gMSA


Решил привести в порядок запускаемые по расписанию задачи. Для консолидации таких задач существует продукт SCOR. Microsoft прекратила его развитие, хотя не так давно переписала номер версии на 2016. Но история не об этом. Читать далее

PowerShell 6 -$env:PSModulePath


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

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

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

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

 

О проблемах установки обновлений


Своевременная установка обновлений это хорошая профилактика от вирусных атак. Это ещё раз подтверждает последння волна червей, начавшаяся с WannaCry.

И вот вроде бы все нужные обновления регулярно ставим, но червь как-то просочился на несколько компьютеров. По совокупности защитных мер ничего страшного не произошло, тем не менее выводы на будущее надо было сделать. Читать далее

Путь развития PowerShell Core


В настоящее время есть два PowerShell — Windows PowerShell и PowerShell Core. Сразу возникает вопросы: как они соотносятся? что будет в будущем с каждой версией?

PowerShell Core это «fork» или ответвление Windows PowerShell сделанное в определенный момент с целью портирования на Unix системы.

Windows PowerShell базируется на .Net Framework — внутренней реализации стандарта .Net Standard компанией Microsoft. Читать далее

PowerShell Core достиг фазы Beta.3


Уже в ближайшее время вы сможете загрузить и установить PowerShell Core 6.0 Beta.3.

Выполнено множество улучшений. В частности вы можете оценить скорость загрузки — она потрясающая! А повторные запуски практически мгновенны.

Главное новшество — добавлена поддержка модулей Windows PowerShell! Это открывает огромные возможности по использования PowerShell Core.

Не всё так гладко с этим. Во-первых, PowerShell Core не поддерживает PSSnaIn модули и не будет их поддерживать — они ушли в прошлое. Во-вторых, модули в формате PS1XML из-за проблем в .Net CoreFX пока не работают, но вскоре это будет исправлено.

Многие существущие модули созданы именно в формате PSSnaIn и должны быть переделаны. Например, один из самых востребованных модулей — ActiveDirectory. Как не печально, но мы не можем его загрузить в PowerShell Core, пока разработчики его не перепишут. Я проверил модули SCCM и SharePoint — они также не работают.

Тогда я провел простой тест и попробовал загрузить все доступные модули на Windows 10 с установленным RSAT. Результат был более чем позитивным: более половины из 120 модулей загрузились!

Самое время и вам загрузить PowerShell Core 6.0 Beta.3 и протестировать модули, которые вы разработали или которыми вы просто пользуетесь. Результаты нужно разместить в теме FullCLR modules not compatible with PSCore6. Не откладывайте это на потом: PowerShell Core является следующим поколением PowerShell и в скором времени заменит Windows PowerShell — вам будет досадно, если вы не сможете ео использовать на всю мощь из-за поздно обнаруженных проблем.

Windows XP — живее всех живых


После вселенских разоблачений спалившихся агентов 007 компания Microsoft выпустила множество обновлений безопасности для всех версий Windows, включая Windows XP.

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

В результате нам остаётся скачивать обновления для Windows XP и ставить их только вручную. Если есть SCCM, то можно сделать пакет с обновлениями и установить их за один заход. Это не сложно: используйте ключи quiet и norestart. Рекомендую не лениться и установить эти обновления, т.к. вирусы и трояны под эти дыры уже гуляют по белу свету.

Более подробно о всех обновлениях можно прочитать с статье June 2017 security update release. В частности для Windows XP смотрите Microsoft security advisory 4025685 — в этой же статье про Windows Vista, Windows 8, or Windows Server 2003 снятых с поддержки.