Обновление PowerShell на Windows Server 2012 R2 — задача, с которой сталкиваются администраторы при переходе на новые версии скриптов или модулей. По умолчанию в этой системе установлена PowerShell 4.0, но её можно обновить до актуальной версии 5.1 — последней, которую поддерживает для данной ОС.
В этой статье разберём, как проверить текущую версию, подготовить сервер к обновлению, скачать необходимые пакеты и установить их без ошибок. Также рассмотрим нюансы, которые часто упускают: совместимость модулей, требования к системе и возможные проблемы при установке.
Почему нужно обновлять на Windows Server 2012 R2
powerShell 4.0, встроенная в Windows Server 2012 R2, уже не отвечает современным требованиям безопасности и функциональности. Новые версии (5.1) предлагают:
- Поддержку современных cmdlet — например, для работы с
JSON,REST APIили облачными сервисами; - Улучшенную производительность — ускорение выполнения скриптов на 20–30% по сравнению с 4.0;
- Исправления уязвимостей — критические обновления безопасности, которые больше не выходят для старой версии;
- Совместимость с новыми модулями — многие пакеты из
PowerShell Galleryтребуют как минимум 5.0.
Перед обновлением проверьте совместимость используемых скриптов с PowerShell 5.1 — некоторые старые модули могут перестать работать.
| Компонент | Минимальные требования | Рекомендуемые параметры |
|---|---|---|
| Оперативная память | 2 ГБ | 4 ГБ и более |
| Свободное место на диске | 1 ГБ | 2 ГБ |
| Процессор | 1 ядро, 1.4 ГГц | 2 ядра, 2.0 ГГц |
| Версия Windows | Windows Server 2012 R2 (x64) | С последними обновлениями |
Требования к системе и предварительная подготовка
Чтобы обновить PowerShell на Windows Server 2012 R2, убедитесь, что сервер соответствует минимальным требованиям. В большинстве случаев достаточно:
Перед установкой обязательно:
- Создайте точку восстановления системы через
Панель управления → Восстановление → Создание точки восстановления; - Обновите до актуального состояния через
Центр обновления Windows; - Закройте все критичные приложения и скрипты, использующие PowerShell.
Если сервер работает в продуктивной среде, запланируйте обновление на время минимальной нагрузки.
Способы обновления PowerShell
Есть два основных способа обновить PowerShell на Windows Server 2012 R2:
- Через Центр обновления Windows — самый простой метод, если ещё распределяет пакет для вашей системы. Откройте
Панель управления → Центр обновления Windows → Проверка обновленийи дождитесь, пока система найдётKB3191566(обновление до PowerShell 5.1). - Ручная установка через MSU-пакет — если обновление не находится автоматически, скачайте пакет с официального сайта Microsoft (
Windows Management Framework 5.1для Windows Server 2012 R2).
Второй способ надёжнее, так как позволяет контролировать процесс и избегать зависимостей от Windows Update.
Пошаговая инструкция по ручной установке PowerShell 5.1
Если вы выбрали ручную установку, следуйте этим шагам:
- Скачайте правильный пакет. Для Windows Server 2012 R2 подходит
Win8.1AndW2K12R2-KB3191566-x64.msu. Его можно найти на сайте в разделе загрузок для Windows Management Framework 5.1. - Запустите установку от имени администратора. Кликните правой кнопкой по файлу
.msuи выберитеЗапуск от имени администратора. - Следуйте инструкциям мастера установки. Примите лицензионное соглашение и дождитесь завершения процесса.
- Перезагрузите сервер. Без перезагрузки изменения не вступят в силу.
⚠️ Внимание: Не прерывайте процесс установки — это может привести к повреждению системных файлов. Если установка зависла, подождите 10–15 минут перед принудительной перезагрузкой.
Проверка версии после обновления
После перезагрузки проверьте, что обновление прошло успешно. Откройте PowerShell от имени администратора и выполните команду:
$PSVersionTable.PSVersion
В результате должны увидеть что-то вроде:
| Параметр | Значение для PowerShell 5.1 |
|---|---|
| Major | 5 |
| Minor | 1 |
| Build | 19041 |
| Revision | 1 |
Если версия не изменилась, повторите установку или проверьте, не блокирует ли антивирус процесс обновления.
Возможные ошибки и их решение
При обновлении PowerShell на Windows Server 2012 R2 могут возникнуть ошибки. Наиболее распространённые:
Большинство ошибок при обновлении PowerShell связаны с отсутствием предварительных обновлений Windows или конфликтами с установленными модулями.
- Ошибка 0x80070005 (доступ запрещён) — запустите установку от имени администратора.
- Ошибка 0x800f0900 (не найдены требуемые компоненты) — установите последние обновления через
Центр обновления. - Ошибка 0x80073701 (повреждены файлы) — выполните команду
sfc /scannowв командной строке от имени администратора.
Практическая инструкция: обновление без перезагрузки
В некоторых случаях можно обновить PowerShell без перезагрузки сервера, но это не рекомендуется для продуктивных систем. Если всё же нужно минимизировать простой, следуйте этому алгоритму:
Как обновить PowerShell без перезагрузки
Часто задаваемые вопросы
Можно ли обновить до версии 7.x на Windows Server 2012 R2?
Нет, PowerShell 7.x не поддерживает Windows Server 2012 R2. Максимально доступная версия — 5.1. Для работы с 7.x потребуется обновление серверной ОС до Windows Server 2016 или новше.
Что будет с старыми скриптами после обновления?
Большинство скриптов, написанных для PowerShell 4.0, будут работать в 5.1. Однако некоторые могли быть изменены или удалены. Перед обновлением проверьте скрипты на совместимость в тестовой среде.
Как откатить обновление PowerShell?
Восстановите систему из точки восстановления, созданной перед установкой обновления. Альтернативный способ — удалить обновление KB3191566 через Панель управления → Программы и компоненты → Просмотр установленных обновлений.
Почему после обновления не работает модуль ActiveDirectory?
Модуль ActiveDirectory требует установки RSAT (Remote Server Administration Tools). После обновления PowerShell может потребоваться повторно установить или обновить для Windows Server 2012 R2.