Вышел PowerShell 7.0 Preview4


Команда Microsoft определилась со сроками выпуска окончательной версии PowerShell 7.0 — в декабре RC и в январе окончательная версия на базе .Net Core 3.1. Это будет LTS версия с поддержкой на несколько лет. Собственно версии будут привязаны к выпускам LTS версий .Net Core.

PowerShell 7.0 Preview4 вполне стабильная версия и баризуется на одном из последних релизов .Net Core 3.0 Preview8.

Прямые ссылки можно найти на GitHub. Ниже только краткие комментарии об изменениях.

ForEach-Object стал заметно быстрее для большинства сценариев, включая параллелизм (параметер -Parallel). Рекомендую попробовать в реальных сценариях.

Кстати посмотрите статью PowerShell ForEach-Object Parallel Feature. Обратите внимание, что параллелизм имеет накладные расходы и не всегда приводит к ускорению.

Еще ранее появилась новая телеметрия New Telemetry in PowerShell 7 Preview 3. Надеюсь, Microsoft поделится новой статистикой. Кто ещё не видел Dashboard?

Появился Ternary Operator:

$var = $isWindows ? "Windows" : "Not Windows"

Некоторым очень хотелось это иметь в языке.

За несколько последних месяцев Кирк Манро внёс неколько улучшений в отладчик и продолжает эту работу. Если вы активно используете откладчик, то подключайтесь к процессу — обратная связь всегда полезна.

Добавлена поддержка групповых политик (GPO). Если нет политик для PowerShell Core, то будут использоваться политики от Windows PowerShell. Это большой шаг к использованию PowerShell Core в корпоративной среде.

Продолжаю работать на улучшениями в PowerShell Core. Уже целая пачкаа улучшений производительности добавлена. Несколько ожидают одобрения и в планах ещё несколько. Результатом должно стать ускорение запуска и создания runspace (что важно для параллелизма).

Убираем Persistent Chat


Собственно сам процесс простой: убрать всё касаемое Persistent Chat из топологии, применить её, запустить установщик на каждом сервере с Persistent Chat и удалить все компоненты.

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

Лечение простое. В оснастке управления Skype for Business в разделе Persistent Chat нужно открыть политику и убрать галку Enable Persistent Chat.

Подробности в статье https://uclobby.com/2013/07/08/persistent-chat-your-chat-room-access-may-be-limited-due-to-an-outage/

Совместимость модулей с PowerShell Core


Этим летом мы могли убедиться, что в последних версиях Windows появился целый ряд модулей совместимых с PowerShell Core.

Их легко определить на наличию строки CompatiblePSEditions = @(‘Desktop’,’Core’) в файле манифеста. (Речь о модулях в папке C:\Windows\System32\WindowsPowerShell\v1.0\Modules\ )

Приближается время выпуска новой версии PowerShell Core 7.0, и самое время протестировать стандартные модули Windows, которыми вы пользуетесь? на совместимость с этой версией, тем более что только что появилась предварительная версия 7.0 Preview4.

Что делать, если выявлены проблемы совместимости? Создавайте обращение в репозитории https://github.com/PowerShell/WindowsCompatibility. Для модулей третьих лиц пишите разработчикам. Чем раньше, тем лучше.

Помните, что уже близко то время, когда PowerShell Core заменит Windows PowerShell полностью. Windows PowerShell уже несколько лет заморожен, и все новые возможности появляются только в Windows Core.