Windows server 2016 обновить powershell

Windows server 2016 обновить powershell

Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. В прошлый раз мы с вами научились определять версию PowerShell, которая установлена в вашей операционной системе. У вас она могла быть устаревшей, и я вам обещал, это исправить. В сегодняшней заметке, я вам покажу быстрый процесс, как обновить PowerShell версию в любой из операционных систем ,семейства Windows. Данные методы займут у вас не более нескольких минут. Как сказал Гагарин, поехали.

Что дает обновление версии PowerShell ?

Компания Microsoft вкладывает огромные силы для развития и поддержки своего продукта по управлению всем, что только можно в мире Windows. Поэтому, чтобы иметь возможность делать работу по автоматизации быстрее, лучше и профессиональнее, необходимо всегда следить за последними версиями командлетов и их ключами, так как от этого зависит их функционал. Каждый новый релиз PowerShell, это по сути как переход с одной операционной системы на другую, более продвинутую и лучшую. С каждой новой версией появляются десятки, а то и сотни новых командлетов для различных сценариев.

Алгоритм обновления версии PowerShell

Хочу отметить, что алгоритм обновления будет одинаков для всех версий Windows начиная с 7 SP1, если у вас ниже, то установите сервисный пакет Service Pack 1 на семерку и двигайтесь дальше.

  • Определяете свою версию PowerShell
  • Проверяете наличие у вас пакета Microsoft .NET Framework 4.7, если нет, то устанавливаете его
  • Скачиваете пакет PowerShell 5.1
  • Устанавливаете пакет PowerShell 5.1

В моем примере я буду обновлять PowerShell в Windows 7 SP1. Моя текущая версия 2.0.

Далее я вам рассказывал, как проверить версию Microsoft .NET Framework 4.7. Если она у вас не установлена, то сделать, это можно по ссылке:

Данный пакет подойдет:

  • Windows 7 с пакетом обновления 1 (SP1) (x86 и x64)
  • Windows 8.1 (x86 и x64)
  • Юбилейное обновление Windows 10 (x86 и x64)
  • Windows Server 2008 R2 с пакетом обновления 1 (SP1) (x64)
  • Windows Server 2012 (x64)
  • Windows Server 2012 R2 (x64)
  • Windows Server 2016 (x64)

Так же советую вам произвести установку всех доступных обновлений, которые есть у вас в операционной системе, а так же убедиться, что вы получаете и дополнительные обновления. Для этого в перейдите по пути «Панель управления\Все элементы панели управления\Центр обновления Windows\Настройка параметров». Убедитесь, что у вас установлены галки:

  • Получать рекомендуемые обновления таким же образом, как и важные обновления
  • При обновлении Windows предоставлять обновления для других продуктов Майкрософт и проверить наличие нового необязательного программного обеспечения Майкрософт. Сюда и попадут Microsoft .NET Framework 4.7.

В Windows 10, данный пункт можно найти по пути «Параметры Windows — Обновление и безопасность — Центр обновления Windows — Дополнительные параметры»

Далее, когда все обновления у вас установлены, вы можете скачивать автономный пакет PowerShell 5.1, пройдите по ссылке:

Нажимаем кнопку «Download».

У вас появится всплывающее окно, где вас попросят выбрать для какой операционной системы вы хотите скачать пакет, по первому названию цифр понятно, для какой версии пакет, так же обратите внимание на разрядность x86 и x64. В моем случае Windows 7 64-х битная. Для обновления версии PowerShell запускаем соответствующий автономный пакет обновления Windows. У меня это Win7AndW2K8R2-KB3191566-x64.zip, единственное вам нужно его распаковать. Запустив пакет, он проверит нет ли уже данного обновления или более свежего.

Читайте также:  Как поменять язык для mac os

Так как пакета в Windows 7 не оказалось, то вам предлагают установить KB3191566, соглашаемся.

Принимаем лицензионное соглашение.

Установка пакета с PowerShell 5.1 занимает пару минут.

После чего потребуется обязательная перезагрузка вашей системы.

После перезагрузки, открыв оболочку PowerShell и выполнив команду Get-Host вы видите, что версия PowerShell 2 превратилась в 5.1.14409.1005

Так же вы наверняка обратили внимание, что совместно с пакетом обновления в архиве лежит скрипт Install-WMF5.1.ps1. В задачи данного скрипта входит проверка вашей текущей версии и поиск зависимостей в виде пакетов .NET Framework. Если их не будет, то вас об этом уведомят. Так, что можете смело щелкать правым кликом по скрипту и так же выполнять его. Если у вас в системе не разрешено выполнение неподписанных цифровой подписью сценариев, то вы увидите ошибку «Выполнение скриптов запрещено», как это обходить посмотрите по ссылке, там я приводил команду Set-ExecutionPolicy remotesigned.

Так же может выскочить уведомление, что запрещено изменять раздел реестра, это из-за того, что оболочка PowerShell запущена не из под админана. Запустите ее в режиме администратора.

После чего скрипт у вас успешно отработает.

Установка Windows Management Framework and PowerShell 5.1.14409.20180811 через репозиторий choco

Есть такой офигенный репозиторий choco, который позволяет одной командой всегда иметь самые последние официальные версии продуктов и утилит, и PowerShell тут не исключение. Как подключать в Windows репозиторий choco я рассказывал, можете посмотреть. Когда он у вас есть вы открываете командную строку cmd , обязательно от имени администратора и вводите команду:

Вот так вот просто. В итоге запуститься удаленный скрипт из репозитория, вам покажут какая версия PowerShell самая последняя и спросят, хотите ли вы ее установить, нажимаете Y и тут начинается магия автоматической установки со всеми зависимостями и пакетами KB обновлений.

Осталось перезагрузить вашу систему и проверить новую, установленную версию PowerShell.

Windows server 2016 обновить powershell

Как обновить справку PowerShell, за минуту

Добрый день! Уважаемые читатели и гости IT портала Pyatilistnik.org. В предыдущем знакомстве с PowerShell, мы его обновили до версии 5.1. Все это хорошо и мы получили огромное количество новых командлетов, но есть один нюанс, у вас может быть не обновлена справка PowerShell. Делать, это нужно, чтобы всегда иметь под рукой свежую документацию с примерами и изменениями, к сожалению она сама не обновляется. В данной заметке мы это научимся делать.

Обновить справку можно несколькими методами:

  • Онлайн из интернета
  • И оффлайн, когда выхода в интернет нет, и нужно воспользоваться выгруженным заранее модулем

Если доступ в интернет на компьютере есть, то откройте PowerShell от имени администратора и введите команду:

У вас начнется скачивание свежей справки для каждого встроенного модуля.

Если у вас есть нестандартные модули, вроде тех, что мы добавляли при поиске ID сеанса пользователя(/how-to-determine-the-user-id-and-session-number-on-rds/), то на них справка может не обновиться и вы получите ошибку:

Если по какой-то причине у вас на рабочей станции, где требуется обновить справку PowerShell, нет выхода в интернет, то я предлагаю вам создать на компьютере с интернетом, автономную, локальную копию, в виде выгрузки XML пакетов со справкой. В оснастке PowerShell, открытой обязательно от имени администратора введите команду:

Убедитесь, что путь куда будут заливаться ваши файлы есть.

В результате у вас скачается порядка 200 файлов cab и XML. Каждый соответствует своему командлету.

Читайте также:  Как почистить папку windows server

Далее вы копируете эту папку или подключаетесь к ней по сети, тут не важно. На сервере или компьютере без интернета, открываем PowerShell и применяем команду, единственное укажите ваш путь.

В тоге вы получаете самую свежую информацию по командам. Напоминаю, что так же можно посмотреть Online справку в PowerShell, для этого выполните:

Подробнее про справку можете почитать на Microsoft (https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/get-help?view=powershell-6).

В некоторых случаях, обновить справку можно и через Proxy, выполните код:

Управление Windows Update с помощью PowerShell

Модуль PSWindowsUpdate, автором которого является Michal Gajda, позволяет управлять параметрами обновления ОС Windows на любом компьютере под управлением PowerShell 2.0 или выше.

PSWindowsUpdate даёт возможность администраторам предприятий проверять и устанавливать обновления на удаленных рабочих станциях и серверах. Он особенно удобен в использовании для установки обновлений на Windows Server Core, у которых нет GUI, а также во время настройки Windows в режиме аудита.

После загрузки, извлекаем содержимое файла в папку C:\Windows\System32\WindowsPowerShell\v1.0\Modules\ .

Если на данном этапе появляется предупреждение User Access Control, выбираем «Продолжить».

Для извлечения файлов, необходимо запустить консоль PowerShell с правами администратора и выполнить команду, которая разрешит выполнять системные сценарии:

Данная команда дает возможность выполнять нам неподписанные скрипты PowerShell, но при этом несколько снижает уровень безопасности (т.к. в случае ошибки администратора может быть запущен скрипт, способный навредить системе).

В случае, если на данном этапе возникнет ошибка:

…необходимо зайти в gpedit.msc (Нажать сочетание клавиш Windows + R, откроется окно выполнить, ввести gpedit.msc и нажать Enter), перейти в раздел Конфигурация компьютера > Административные шаблоны > Компоненты Windows > Windows PowerShell и переключить состояние политики «Включить выполнение сценариев» в режим «Включено».

После изменения настроек политики, необходимо перезапустить консоль PowerShell, повторно выполнить команду, разрешающую сценарии, и проверить, повторится ли ошибка. Если выполнение завершится без ошибок, то можно проверить состояние политики с помощью команды:

Теперь, если всё прошло успешно, вывод PowerShell будет примерно следующим:

Затем, импортируем модуль PSWindowsUpdate и запрашиваем список доступных команд:

Одним из наиболее значимых командлетов является Get-WUInstall , который предназначен для загрузки и установки обновлений. Для просмотра обновлений, доступных для установки из MicrosoftUpdate, выполним команду

Точно такой же результат можно получить с помощью команды Get-WUList –MicrosoftUpdate :

Для установки с подтверждением вручную для каждого обновления можно использовать команду Get-WUInstall –MicrosoftUpdate :


Прочие параметры PSWindowsUpdate

Рассмотрим некоторые параметры, способные упростить жизнь системному администратору:

  1. Установка всех доступных обновлений из MicrosoftUpdate с последующей перезагрузкой:
  2. Запрет установки отдельного обновления из MicrosoftUpdate по названию и номеру KB:

и отмена запрета в случае необходимости:

Скрипт совместим со всеми операционными системами, начиная с Windows Vista и заканчивая Windows 10. Работоспособность сценария пока не проверялась на Windows Server 2016. Операционная система Windows Server 2003 не поддерживается.

При необходимости, для задания параметру ExecutionPolicy значения Restricted (настройки по умолчанию), можно воспользоваться следующей командой:

Обновление версии PowerShell в Windows

В этой статье мы рассмотрим, как обновить версию Windows PowerShell до актуальной 5.1 и установить (обновить) PowerShell Core 7.0. В предыдущей статье мы рассказывали, что на данный момент есть две ветки PowerShell: старая версия Windows PowerShell (максимальная версия 5.1, которая более не развивается) и новая платформа PowerShell Core (сейчас доступна версия 7.0). Несмотря на то, что нумерация версий PowerShell продолжается с 5.1 (6.0, 6.1, 7.0 и т.д.), это две разные платформы. Соответственно мы рассмотрим отдельно как обновить Windows PowerShell и PowerShell Core.

Обновление Windows PowerShell до 5.1

Попробуем обновить версию Windows PowerShell в Windows Server 2012 R2 до версии 5.1.

По-умолчанию Windows Server 2012 R2 (Windows 8.1) устанавливается с версией 4.0.

Сначала проверим текущую версию PowerShell (на скриншоте видно, что это PowerShell 4.0):

Чтобы обновить вашу версию PowerShell до 5.1, нужно установить пакет Windows Management Framework 5.1, который в свою очередь требует наличия .NET Framework 4.5.2 (или более поздней версии). Убедитесь, что у вас установлена версий .NET 4.5.2 или выше командой:

(Get-ItemProperty ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full’ -Name Release).Release

В моем случае код 378675 говорит о том, что установлена версия .NET 4.5.1. Поэтому мне нужно скачать и установить более новую .NET Framework 4.8 (ссылка на офлайн установщик https://go.microsoft.com/fwlink/?linkid=2088631 — ndp48-x86-x64-allos-enu.exe).

Установите .NET 4.8 (потребуется перезагрузка).

Скачайте WMF 5.1 для Windows Server 2012 R2 — Win8.1AndW2K12R2-KB3191564-x64.msu (https://go.microsoft.com/fwlink/?linkid=839516).

Установите Windows Management Framework 5.1.

После перезагрузки сервера, запустите консоль PS и убедитесь, что версия была обновлена до PowerShell 5.1.

Установка/обновление PowerShell Core 7.0

Обратите внимание, что последняя версия Windows PowerShell, устанавливаемая в Windows 10 и Windows Server 2019 — PowerShell 5.1. Вместо нее Microsoft начала разрабатывать кроссплатформенную версию PowerShell Core. На данный момент доступны версии PowerShell Core 6.0, 6.1, 6.2 и 7.0. По сути PowerShell Core это новая платформа, которая устанавливается в системе вместе с Windows PowerShell. Т.е. нельзя обновить PowerShell 5.1 до PowerShell Core 7.0. PowerShell 7 устанавливается на компьютере отдельно от Windows PowerShell 5.1.

Если у вас уже установлен PowerShell Core 6.0, вы можете обновить версию PowerShell на своем компьютере до последней версии PowerShell 7.0 Core (либо можно установиь PowerShell Core 7.0 рядом с Windows PowerShell 5.1). В этом примере мы попробуем обновить версию PowerShell Core в Windows 10 1909. Есть два способа обновления:

  • Можно вручную скачать msi установщик PowerShell Core на GitHub
  • Можно скачать и запустить установку (обновление) непосредственно из консоли PowerShell

Если вы хотите установаить PowerShell Core с помощью MSI пакета, перейдите на старицу проекта https://github.com/PowerShell/PowerShell, найдите последний релиз (на момент написания статьи это v7.0.0 Release of PowerShell от 4 марта, доступны также более новые v7.1.0-preview Release of PowerShell, но лучше пока не ставить их до выхода стабильной версии). Разверните список Assets и найдите пакет для вашей версии Windows (PowerShell-7.0.0-win-x64.msi или PowerShell-7.0.0-win-x86.msi).

Скачайте msi файл и установите его.

msiexec.exe /package PowerShell-7.0.0-win-x64.msi /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1

Вы можете обновить PowerShell непосредственно из консоли.

Обновим (установим) последнюю версию PoSh Core с помощью команды:

  • -Destination – каталог установки PowerShell Core
  • -Preview – установка Preview версии
  • -Quiet – тихая установка
  • -AddToPath – добавить путь к каталогу установки PowerShell Core в переменные окружения

Данная команда загружает установочный MSI файл PowerShell 7.0 с GitHub и запускает установку, затем запускается установка через MSI Installer.

После окончания установки открывается окно PowerShell Core (pwsh.exe), проверьте версию PowerShell и убедитесь, что теперь это PoSh 7.0.0.

Если у вас установлен менеджер пакетов Chocolatey, вы можете установить или обновить версию PowerShell командами:

choco install powershell -y
choco upgrade powershell -y

Обратите внимание, что имя исполняемого файла среды PowerShell изменился. Теперь это c:\Program Files\PowerShell\7\pwsh.exe . У него собственная иконка в меню Start.

  • Для запуска Windows PowerShell, основанного на .NET Framework используется команда powershell.exe
  • Для запуска PowerShell Core, основанного на .NET Core, нужно использовать команду pwsh.exe

Т.е. теперь на этом компьютере есть две версии: Windows PowerShell 5.1 и PowerShell Core 7.0

Читайте также:  Run java programs windows
Оцените статью