Если вы решите установить PowerShell 5.1, я создал техническое руководство с некоторыми скриптами для автоматизации этого процесса для вас. Отказ от ответственности: Весь код, упомянутый в этом посте, предоставляется в том виде, в котором он есть. Некоторые из них могут работать, некоторые могут не работать в вашей среде, но если у вас нет ничего, чтобы начать, он будет служить вам шаблоном для начала работы.
Если вам нужна помощь в определении версии PowerShell, которую вы используете, я рекомендую ознакомиться с Как проверить версию PowerShell (все способы!).
Шаг №1: Обнаружение
Первым шагом при обновлении PowerShell во всей организации является обнаружение. Какова текущая ситуация? Вы не можете что-то изменить, не понимая этого, и, к удивлению, многие организации не имеют представления о том, что у них есть!
Существующие операционные системы
Первая задача – понять, какие операционные системы у вас есть и на какие из них вы хотите установить PowerShell 5.1. Однако на некоторых системах вы можете уже решить установить PowerShell 5.1 и не знать об этом. PowerShell 5.1 был выпущен как включенное в состав инструментального набора средств в обновлении Windows 10 Anniversary и в RTM-версии Windows Server 2016, поэтому если у вас есть одна из этих операционных систем или более новая, вы уже готовы к работе.
Для остальных убедитесь, что у вас есть список. Нет системы управления системами, такой как SCCM? Нет проблемы! Используйте PowerShell, чтобы помочь PowerShell! Если у вас есть Active Directory, вот быстрый однострочник, чтобы получить общую картину того, что есть.
Как выглядит ваша среда? У вас есть старые машины с Windows XP или Server 2003? Если да, то вам не повезло. Лучшее, что вы сможете сделать на таких системах – установить PowerShell v2, но если у вас все еще есть такие машины в вашей среде, то PowerShell – это наименьшая из ваших проблем! Для любой операционной системы с установленным Windows 7 SP1/Windows Server 2008R2 SP1 или выше, можно установить PowerShell 5.1.
Составление списка целевых требований
Для применимых операционных систем PowerShell 5.1 имеет несколько предварительных требований и условий, которые нужно выполнить перед его использованием.
- Установлен как минимум .NET Framework 4.5.2. Это не требование для установки, и установка все равно будет продолжена, но некоторые функции не будут работать, поэтому просто сделайте это уже!
- Не должна быть установлена предварительная версия PowerShell 5.1.
- На машинах с Windows 7 или Server 2008R2 с установленным PowerShell v3 вы должны либо сохранить значение
PSModulePath
, либо сначала обновиться до версии v4. - На машинах с Windows 7 или Server 2008R2, если используется DSC, убедитесь, что WinRM включен.
- Установка потребует перезагрузки, так что убедитесь, что вы планируете это.
Поскольку я ленив и намерен, чтобы и ты был таким же, вот небольшой скрипт, который я создал, чтобы помочь тебе начать разбираться в том, какие предварительные работы тебя ждут. Для требования WinRM ты можешь включить код из этого скрипта моего тоже, так как ты будешь работать с каждым компьютером. Однако знай, что для этого подхода необходимо включить удаленное выполнение PowerShell на каждом компьютере.
Убедитесь, что существующие сценарии будут работать с PowerShell 5.1
Несмотря на то, что сами члены команды PowerShell сказали мне, что все сценарии должны работать с PowerShell 5.1, это не всегда так. Для любого кода, который выполняет важные бизнес-процессы, я всегда рекомендую установить 5.1 на той же операционной системе другого компьютера и протестировать его там, чтобы быть уверенным.
Шаг №2: Развертывание
Как только вы справились со всеми предварительными требованиями и готовы приступить к развертыванию PowerShell 5.1, следующим шагом является его выполнение! Развертывание 5.1 похоже на развертывание другого программного обеспечения. Как вы это сделаете, зависит от инструментов, которые у вас уже есть. Например, если у вас есть Active Directory и вы хотите использовать групповые политики, вы можете пойти этим путем, аналогично будет работать SCCM. Я стараюсь быть нейтральным к продуктам, поэтому вот как я бы сделал это с помощью PowerShell, конечно!
Сначала я создам папку на своем компьютере с именем C:\PowerShellDeployment
. Затем я скачаю необходимые версии в эту папку и загружу копию psexec. Далее, так как PowerShell не может обновить сам себя, нам нужно обратиться к доброму старому VBScript. Вот небольшой сценарий, который я создал давно, чтобы помочь вам начать. Я сохраню его в C:\PowerShellDeployment\installPs.vbs
.
После того, как у вас будет VBS-файл сохранен на локальном компьютере, создайте сценарий PowerShell, примерно такого вида, и сохраните его где-нибудь.
Выполните указанный выше сценарий, и он должен проверить, доступен ли компьютер в сети, скопировать установщик PowerShell и VBS на удаленный компьютер, выполнить их, очистить после себя и перезагрузить компьютер. Как всегда, запланируйте это во время обслуживания! Установка PowerShell требует перезагрузки, и этот сценарий выполнит ее без сожаления.