▶️ PowerShell Core: о способах установки и автоматическом обновлении
Недавно я рассказывал, почему Core не входит в поставку Windows. В конце поста была команда для установки из репозитория winget. Именно этот способ рекомендуют разработчики в документации:
winget install --id Microsoft.Powershell --source winget
В личке Проничкин заметил, что лучше устанавливать магазинную версию. Это можно сделать интерактивно или с помощью того же winget из репо магазина:
winget search powershell --source msstore
winget install --id 9MZ1SNWT0N5D
Артем обосновал это тем, что магазинная версия обновляется автоматически, что перевешивает недостатки песочницы, в которой она запускается. Что ж, я тоже люблю тихие автообновления!
Между тем, версии x86 и х64 упакованы в MSI. И в ноябре 2021 года я рассказывал, что в установщике появилась возможность включить автоматическое обновление посредством Microsoft Update (MU). При ручной установке все необходимое активировано по умолчанию, см. картинку ⬇️
Логично предположить, что тихая установка из репо winget выполняется с теми же параметрами. И я как раз планировал проверить👌Первая опция регистрирует PowerShell Core для обновления через WSUS и MU. Вторая включает глобальную настройку получения обновлений посредством MU. Спасибо Артему за наводку на документацию.
✅ На чистой ВМ после установки из репо winget в реестре появилась запись о регистрации, а в Параметрах активировался переключатель MU. Таким образом, автоматическое обновление PowerShell Core реализовано как для магазинной версии, так и для установки пакета MSI из репо winget.
📃 По гайдлайнам, конечно, полагается спрашивать пользователя, хочет ли он в MU. Ведь опция в Параметрах из коробки выключена неспроста. Более того, после удаления Core оба изменения не откатываются. Хотя правильно не отключать MU, которое может быть настроено для обновления других приложений.
Но таковы уж нюансы тихой установки с winget. Впрочем, поведение установщиков можно переопределять, о чем я расскажу отдельно в блоге ✌️