Как установить PowerShell на Windows 7?

Сведения об установке PowerShell в Windows

Как установить PowerShell на Windows 7?

Установка PowerShell в Windows

Есть несколько способов установки PowerShell в Windows.

Предварительные требования

Последний выпуск PowerShell поддерживается в Windows 7 с пакетом обновления 1 (SP1), Windows Server 2008 R2 и более поздних версий.

Чтобы включить удаленное взаимодействие PowerShell через WSMan, нужно выполнить следующие условия:

  • Установите универсальную среду выполнения C в Windows предшествующих Windows 10 версий. Ее можно скачать самостоятельно или через Центр обновления Windows. Этот пакет уже установлен в полностью исправленных системах.
  • Установите Windows Management Framework (WMF) 4.0 или более поздней версии в Windows 7 и Windows Server 2008 R2. Подробные сведения о WMF см. в статье с обзором WMF.

Скачивание скрипта установщика

Чтобы установить PowerShell в Windows скачайте актуальный пакет установки с GitHub. Также доступна актуальная предварительная версия. Прокрутите страницу вниз до раздела ресурсов. Раздел ресурсов может быть свернут. В таком случае щелкните его, чтобы развернуть.

Команды установки, описанные в этой статье, предназначены для последних выпусков PowerShell. Чтобы установить другую версию PowerShell, измените команду в соответствии с нужной версией. Чтобы просмотреть все выпуски PowerShell, посетите страницу Выпуски в репозитории PowerShell в GitHub.

Установка пакета MSI

MSI-файл выглядит примерно так: PowerShell- -win- .msi . Пример:

  • PowerShell-7.1.4-win-x64.msi
  • PowerShell-7.1.4-win-x86.msi

После скачивания дважды щелкните установщик и следуйте инструкциям на экране.

Программа установки создает ярлык в меню Windows «Пуск».

  • По умолчанию пакет устанавливается в каталог $env:ProgramFilesPowerShell .
  • Вы можете запустить PowerShell с помощью меню «Пуск» или файла $env:ProgramFilesPowerShell pwsh.exe .

PowerShell 7.1 устанавливается в новом каталоге и работает параллельно с Windows PowerShell 5.1. PowerShell 7.1 устанавливается как обновление на месте взамен PowerShell 6.x или PowerShell 7.0.

  • PowerShell 7.1 устанавливается в папке $env:ProgramFilesPowerShell7 .
  • Папка $env:ProgramFilesPowerShell7 добавляется в переменную $env:PATH .
  • Папка $env:ProgramFilesPowerShell6 удалена.

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

Установка администратором из командной строки

MSI-пакеты можно устанавливать из командной строки, что позволяет администраторам развертывать их без взаимодействия с пользователем. MSI-пакет включает в себя следующие свойства для управления параметрами установки:

  • ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL. Это свойство позволяет добавлять пункт Открыть PowerShell в контекстное меню проводника.
  • ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL. Это свойство позволяет добавлять пункт Выполнить с помощью PowerShell в контекстное меню проводника Windows.
  • ENABLE_PSREMOTING. Это свойство позволяет включать удаленное взаимодействие PowerShell во время установки.
  • REGISTER_MANIFEST. Это свойство позволяет регистрировать манифест ведения журнала событий Windows.

В следующих примерах показано, как выполнить автоматическую установку PowerShell со всеми включенными параметрами.

Полный список параметров командной строки для Msiexec.exe см. здесь.

Разделы реестра, созданные во время установки

Начиная с версии PowerShell 7.1, пакет MSI создает разделы реестра, которые хранят данные о расположении установки и версии PowerShell. Эти значения можно найти в разделе HKLMSoftwareMicrosoftPowerShellCoreInstalledVersions . Значение уникально для каждого типа сборки (выпуск или предварительная версия), основного номера версии и архитектуры.

Release Architecture Ключ реестра
Выпуск версии 7.1.x x86 HKLMSoftwareMicrosoftPowerShellCoreInstalledVersions1d00683b-0f84-4db8-a64f-2f98ad42fe06
Выпуск версии 7.1.x X64 HKLMSoftwareMicrosoftPowerShellCoreInstalledVersions31ab5147-9a97-4452-8443-d9709f0516e1
Предварительная версия 7.1.x x86 HKLMSoftwareMicrosoftPowerShellCoreInstalledVersions86abcfbd-1ccc-4a88-b8b2-0facfde29094
Предварительная версия 7.1.x X64 HKLMSoftwareMicrosoftPowerShellCoreInstalledVersions39243d76-adaf-42b1-94fb-16ecf83237c8

Может использоваться администраторами и разработчиками для поиска пути к PowerShell. Значения будут одинаковыми для всех выпусков предварительных и дополнительных версий. Значения отличаются для каждого выпуска основной версии.

Установка ZIP-пакета

Для поддержки расширенных сценариев развертывания доступны ZIP-архивы двоичных файлов PowerShell. Скачайте один из следующих ZIP-архивов на странице с выпусками.

  • PowerShell-7.1.4-win-x64.zip
  • PowerShell-7.1.4-win-x86.zip
  • PowerShell-7.1.4-win-arm64.zip
  • PowerShell-7.1.4-win-arm32.zip

В зависимости от способа загрузки файла может потребоваться разблокировать файл с помощью командлета Unblock-File . Распакуйте содержимое в выбранное расположение и запустите pwsh.exe . В отличие от установки пакетов MSI при установке ZIP-архива не выполняется проверка соответствия предварительным требованиям. Для правильного удаленного взаимодействия с помощью WSMan необходимо обеспечить соответствие предварительным требованиям.

Используйте этот метод для установки версии PowerShell на основе ARM на таких компьютерах, как Microsoft Surface Pro X. Чтобы получить оптимальные результаты, устанавливайте PowerShell в папку $env:ProgramFilesPowerShell7 .

Этот метод можно использовать для установки любой версии PowerShell, в том числе последней:

Развертывание в Windows 10 IoT Корпоративная

Windows 10 IoT Корпоративная поставляется со средой Windows PowerShell, которую можно использовать для развертывания PowerShell 7.

Создайте PSSession для целевого устройства

Скопируйте ZIP-файл на устройство

Присоединитесь к устройству и извлеките архив

Настройте удаленное взаимодействие с PowerShell 7

Подключение к конечной точке PowerShell 7 на устройстве

Развертывание в Windows 10 IoT Базовая

Windows PowerShell добавляется в Windows 10 IoT Базовая, если вы включаете функцию IOT_POWERSHELL, которую можно использовать для развертывания PowerShell 7. Действия, описанные выше для Windows 10 IoT Корпоративная, могут быть выполнены и для центра Интернета вещей.

Чтобы добавить последнюю версию PowerShell в образ для доставки, используйте команду Import-PSCoreRelease для включения пакета в рабочую область и добавления OPENSRC_POWERSHELL в образ.

В архитектуре ARM64 Windows PowerShell не добавляется при включении IOT_POWERSHELL. Поэтому установка на основе ZIP-файла не поддерживается. Для добавления в образ используйте команду Import-PSCoreRelease .

Развертывание на Nano Server

В этих указаниях предполагается, что Nano Server — это операционная система для удаленного управления, в которой уже работает какая-либо версия PowerShell. Дополнительные сведения см. в разделе о средстве создания образов Nano Server.

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

  1. Автономно — подключите виртуальный жесткий диск Nano Server и распакуйте содержимое ZIP-файла в выбранное расположение в этом образе.
  2. В сети — передайте ZIP-файл через сеанс PowerShell и распакуйте его в выбранное расположение.

В обоих случаях требуется ZIP-пакет выпуска Windows 10 семейства x64. Выполните команды в экземпляре PowerShell с ролью администратора.

Автономное развертывание PowerShell

  1. С помощью любой служебной программы ZIP распакуйте пакет в каталог, находящийся внутри подключенного образа Nano Server.
  2. Отключите образ и загрузите его.
  3. Подключитесь к встроенному экземпляру Windows PowerShell.
  4. Следуйте инструкциям, чтобы создать конечную точку удаленного взаимодействия с помощью методики использования другого экземпляра.

Автономное PowerShell в сети

Разверните PowerShell в Nano Server, выполнив действия ниже.

Подключитесь к встроенному экземпляру Windows PowerShell.

Скопируйте файл на экземпляр Nano Server:

Войдите в сеанс:

Если вам требуется удаленное взаимодействие на основе WSMan, следуйте инструкциям, чтобы создать конечную точку удаленного взаимодействия с помощью методики использования другого экземпляра.

Установка в качестве глобального средства .NET

Если вы уже установили пакет SDK для .NET Core, установите PowerShell как глобальное средство .NET.

Установщик инструмента dotnet добавляет $env:USERPROFILE.dotnettools в переменную среды $env:PATH . Но в выполняющейся оболочке нет обновленной переменной $env:PATH . Вы можете запустить PowerShell из новой оболочки, введя pwsh .

Установка PowerShell с помощью диспетчера пакетов Windows

Программа командной строки winget позволяет разработчикам обнаруживать, устанавливать, обновлять, удалять и настраивать приложения на компьютерах Windows 10. Она является клиентским интерфейсом для службы Диспетчера пакетов Windows.

Список системных требований и инструкции по установке см. в документации по winget.

Для установки PowerShell с помощью опубликованных пакетов winget можно использовать следующие команды:

Найдите последнюю версию PowerShell.

Установите версию PowerShell, используя параметр —exact .

Установка из Microsoft Store

Версия PowerShell 7.1 опубликована в Microsoft Store. Этот выпуск PowerShell можно найти на веб-сайте Microsoft Store или в приложении Store в ОС Windows.

Пакет Microsoft Store обеспечивает следующие преимущества:

  • автоматические обновления, встроенные в основной механизм Windows 10;
  • интеграция с другими механизмами распространения программного обеспечения, такими как Intune и SCCM.

Пакеты Магазина Windows выполняются в песочнице приложения, которая виртуализует доступ к некоторым расположениям в файловой системе и реестре.

  • Все изменения реестра в разделе HKEY_CURRENT_USER при записи копируются в закрытое хранилище, отдельно для каждого пользователя и приложения. Таким образом, эти значения недоступны для других приложений.
  • Параметры конфигурации системного уровня, хранящиеся в $PSHOME , нельзя изменить. Это относится и к конфигурации WSMAN. Это означает, что вы не сможете подключать удаленные сеансы к установкам PowerShell на основе хранилища. Поддерживаются конфигурации уровня пользователя и удаленное взаимодействие по SSH.

Создание конечной точки удаленного взаимодействия

PowerShell поддерживает протокол удаленного взаимодействия PowerShell (PSRP) через SSH и WSMan. Дополнительные сведения см. в разделе:

Обновление существующей установки

Для получения оптимального результата при обновлении используйте тот же метод установки, который вы использовали при первой установке PowerShell. При использовании разных методов установки PowerShell устанавливается в разные расположения. Если вы не знаете, как была выполнена установка PowerShell, вы можете сравнить расположение установки со сведениями о пакетах из этой статьи. Если установка выполнена с помощью пакета MSI, эти сведения будут отображаться в разделе Программы и компоненты Панели управления.

Поддержка установки

Корпорация Майкрософт поддерживает методы установки, изложенные в этом документе. В других источниках могут быть доступны сторонние методы установки. Хотя такие инструменты и методы могут работать, корпорация Майкрософт не поддерживает их.

Загрузка и установка PowerShell для Windows 7

Шаг 1: Проверка обновления SP1

Официально обновление SP1 для Windows 7 уже не поддерживается разработчиками, однако сейчас все еще можно его установить, если этот апдейт не был добавлен в операционную систему. Его наличие обязательно для дальнейшей установки или обновления PowerShell, поэтому выполните этот шаг, перейдя к инструкции по ссылке ниже.

Шаг 2: Установка универсальной среды C

Второй этап — установка универсальной среды C, которая необходима для корректного выполнения следующих программ и запуска PowerShell в Windows 7. Ее инсталляция производится с официального сайта через автономный установщик обновлений WUSA.

    Кликните по предыдущей ссылке и после перехода начните загрузку рассматриваемого компонента.

Откройте полученный архив и найдите совместимый с вашей Виндовс 7 пакет обновления. Скорее всего, это будет Windows6.0 или Windows6.1 с учетом разрядности. Если после запуска вы получили уведомление о том, что обновление недоступно для этого ПК, попробуйте открыть другой MSU-файл.

Далее появится уведомление об установке KB3118401, которое необходимо подтвердить.

Запустится процесс инсталляции обновления — следите за его прогрессом в этом же окне.

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

Шаг 3: Установка WMF 5.1

Если выше мы разобрали вспомогательные компоненты, требуемые для корректной работы PowerShell, то WMF (Windows Management Framework) как раз напрямую связан с этим компонентом и позволяет ему в полной мере использовать встроенные скрипты, в том числе и для обновления до последней версии.

    Оказавшись на странице загрузки обновления, нажмите по ссылке «WMF 5.1», находящейся в таблице сравнения версий операционных систем.

После открытия новой страницы щелкните на «Download», перейдя тем самым к выбору файлов для скачивания.

Отметьте маркерами только версии для Windows 7, соответствующие разрядности «семерки».

Запустите находящийся в архиве файл MSU и дождитесь поиска подходящих обновлений.

Подтвердите уведомление об их инсталляции.

При отображении сообщения о необходимости перезагрузки ОС сделайте это, чтобы PowerShell был успешно интегрирован.

Шаг 4: Запуск и обновление PowerShell

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

    Откройте «Пуск», найдите там Windows PowerShell и запустите это приложение.

Далее перейдите к скачанному ранее архиву, где помимо файла MSU располагался скрипт для PowerShell. Перетащите его на рабочий стол для распаковки.

Теперь перетащите его в PowerShell и дождитесь появления новой строки.

Запустите скрипт, нажав клавишу Enter.

Если же на экране появилась ошибка, значит, приложение не нуждается в обновлении.

Установка последней версии PowerShell через GitHub

Как альтернативный вариант разберем скачивание отдельного приложения с PowerShell через GitHub. Его последняя версия устанавливается рядом с классической оболочкой и может работать параллельно.

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

По окончании загрузки запустите установщик.

В нем переходите к следующему шагу.

Выберите место на компьютере, куда хотите установить программу.

Ознакомьтесь с дополнительными опциями перед установкой и отметьте галочкой те параметры, которые хотите применить.

Ожидайте окончания установки, а затем найдите исполняемый файл PowerShell 7 на рабочем столе или в «Пуск».

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

Помимо этой статьи, на сайте еще 12304 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

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

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

  • Обновление Windows PowerShell до 5.1
  • Установка/обновление PowerShell Core 7.1
  • Установка PowerShell Core через Microsoft Store
  • Обновление PowerShell Core с помощью GPO
  • Обновление PowerShell на удаленных компьютерах

Обновление 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:SOFTWAREMicrosoftNET Framework SetupNDPv4Full’ -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).

Установите MSU файл Windows Management Framework 5.1.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

winget install —id=Microsoft.PowerShell -e

Либо можно установить конкретную версию PowerShell Core:

winget install —id=Microsoft.PowerShell -v «7.1.2» -e

При использовании менеджера пакетов Chocolatey, используйте команды (для 5.1):

choco install powershell -y
choco upgrade powershell -y

Для обновления PowerShell 7.x:

choco upgrade pwsh -y

  • Windows PowerShell 5.1: $env:WINDIRSystem32WindowsPowerShellv1.0
  • PowerShell Core 6.x: $env:ProgramFilesPowerShell6
  • PowerShell 7.x: $env:ProgramFilesPowerShell7

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

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

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

(Get-Command ‘C:Program FilesPowerShell7pwsh.exe’).Version

Так можно проверить на удаленном компьютере:

Invoke-Command -Computername computer1 -Scriptblock

Чтобы запустить предыдущую версию PowerShell, например 4, используйте команду:

C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -Version 4

Установка PowerShell Core через Microsoft Store

В Windows 10 вы можете установить или обновить PowerShell через магазин приложений Microsoft Store. Приложение PowerShell можно найти в магазине вручную или воспользуйтесь этой ссылкой. Преимущество такого способа установки – приложение Store будет автоматически контролировать установленную версию PowerShell и автоматически устанавливать обновления по мере появления.

Но есть и недостатки, связанные с тем, что такой PowerShell будет запускаться в песочнице.

Обновление PowerShell Core с помощью GPO

В домене Active Directory вы можете централизованно установить и обновить PowerShell Core с помощью групповой политики. Воспользуйтесь возможностями GPO по установке MSI пакетов.

  1. Скачайте установочный MSI файл PowerShell и скопируйте его в каталог SYSVOL на контроллере домена;
  2. Откройте консоль управления доменными GPO ( gpmc.msc ), создайте новую GPO и назначьте ее на OU с компьютерами и серверами;
  3. Перейдите в раздел GPO ComputerConfiguration –>SoftwareSettings, создайте новые пакет и укажите для него путь к установочному MSI файлу PowerShell в SYSVOL;

Обновление PowerShell на удаленных компьютерах

Для обновления PowerShell на удаленных компьютерах через командную строку можно воспользоваться одним из следующих способов.

Первый способ позволяет удаленно обновить PowerShell на компьютере с помощью MSI установщика в сетевом каталоге:

Следующий скрипт позволит выбрать все активные компьютеры с Windows 10 из домена Active Directory и запустить на каждом из них загрузку и установку PowerShell Core:

$creds = $(Get-Credential)
$computers = Get-ADComputer -Filter ‘operatingsystem -like «*Windows 10*» -and enabled -eq «true»‘
ForEach ($computer in $computers) <
Invoke-Command -ComputerName $computer -Credential $creds -UseMSI -Quiet»>
>

Enter-PSSession -ComputerName dc01 -ConfigurationName «powershell.7.1.3»

Иначе вы подключитесь к точке PowerShell Remoting 5.1.

Установка PowerShell в Windows

Есть несколько способов установки PowerShell в Windows.

Предварительные требования

Последний выпуск PowerShell поддерживается в Windows 7 с пакетом обновления 1 (SP1), Windows Server 2008 R2 и более поздних версий.

Чтобы включить удаленное взаимодействие PowerShell через WSMan, нужно выполнить следующие условия:

  • Установите универсальную среду выполнения C в Windows предшествующих Windows 10 версий. Ее можно скачать самостоятельно или через Центр обновления Windows. Этот пакет уже установлен в полностью исправленных системах.
  • Установите Windows Management Framework (WMF) 4.0 или более поздней версии в Windows 7 и Windows Server 2008 R2. Подробные сведения о WMF см. в статье с обзором WMF.

Скачивание скрипта установщика

Чтобы установить PowerShell в Windows скачайте актуальный пакет установки с GitHub. Также доступна актуальная предварительная версия. Прокрутите страницу вниз до раздела ресурсов. Раздел ресурсов может быть свернут. В таком случае щелкните его, чтобы развернуть.

Команды установки, описанные в этой статье, предназначены для последних выпусков PowerShell. Чтобы установить другую версию PowerShell, измените команду в соответствии с нужной версией. Чтобы просмотреть все выпуски PowerShell, посетите страницу Выпуски в репозитории PowerShell в GitHub.

Установка пакета MSI

MSI-файл выглядит примерно так: PowerShell- -win- .msi . Пример:

  • PowerShell-7.1.4-win-x64.msi
  • PowerShell-7.1.4-win-x86.msi

После скачивания дважды щелкните установщик и следуйте инструкциям на экране.

Программа установки создает ярлык в меню Windows «Пуск».

  • По умолчанию пакет устанавливается в каталог $env:ProgramFilesPowerShell .
  • Вы можете запустить PowerShell с помощью меню «Пуск» или файла $env:ProgramFilesPowerShell pwsh.exe .

PowerShell 7.1 устанавливается в новом каталоге и работает параллельно с Windows PowerShell 5.1. PowerShell 7.1 устанавливается как обновление на месте взамен PowerShell 6.x или PowerShell 7.0.

  • PowerShell 7.1 устанавливается в папке $env:ProgramFilesPowerShell7 .
  • Папка $env:ProgramFilesPowerShell7 добавляется в переменную $env:PATH .
  • Папка $env:ProgramFilesPowerShell6 удалена.

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

Установка администратором из командной строки

MSI-пакеты можно устанавливать из командной строки, что позволяет администраторам развертывать их без взаимодействия с пользователем. MSI-пакет включает в себя следующие свойства для управления параметрами установки:

  • ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL. Это свойство позволяет добавлять пункт Открыть PowerShell в контекстное меню проводника.
  • ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL. Это свойство позволяет добавлять пункт Выполнить с помощью PowerShell в контекстное меню проводника Windows.
  • ENABLE_PSREMOTING. Это свойство позволяет включать удаленное взаимодействие PowerShell во время установки.
  • REGISTER_MANIFEST. Это свойство позволяет регистрировать манифест ведения журнала событий Windows.

В следующих примерах показано, как выполнить автоматическую установку PowerShell со всеми включенными параметрами.

Полный список параметров командной строки для Msiexec.exe см. здесь.

Разделы реестра, созданные во время установки

Начиная с версии PowerShell 7.1, пакет MSI создает разделы реестра, которые хранят данные о расположении установки и версии PowerShell. Эти значения можно найти в разделе HKLMSoftwareMicrosoftPowerShellCoreInstalledVersions . Значение уникально для каждого типа сборки (выпуск или предварительная версия), основного номера версии и архитектуры.

Release Architecture Ключ реестра
Выпуск версии 7.1.x x86 HKLMSoftwareMicrosoftPowerShellCoreInstalledVersions1d00683b-0f84-4db8-a64f-2f98ad42fe06
Выпуск версии 7.1.x X64 HKLMSoftwareMicrosoftPowerShellCoreInstalledVersions31ab5147-9a97-4452-8443-d9709f0516e1
Предварительная версия 7.1.x x86 HKLMSoftwareMicrosoftPowerShellCoreInstalledVersions86abcfbd-1ccc-4a88-b8b2-0facfde29094
Предварительная версия 7.1.x X64 HKLMSoftwareMicrosoftPowerShellCoreInstalledVersions39243d76-adaf-42b1-94fb-16ecf83237c8

Может использоваться администраторами и разработчиками для поиска пути к PowerShell. Значения будут одинаковыми для всех выпусков предварительных и дополнительных версий. Значения отличаются для каждого выпуска основной версии.

Установка ZIP-пакета

Для поддержки расширенных сценариев развертывания доступны ZIP-архивы двоичных файлов PowerShell. Скачайте один из следующих ZIP-архивов на странице с выпусками.

  • PowerShell-7.1.4-win-x64.zip
  • PowerShell-7.1.4-win-x86.zip
  • PowerShell-7.1.4-win-arm64.zip
  • PowerShell-7.1.4-win-arm32.zip

В зависимости от способа загрузки файла может потребоваться разблокировать файл с помощью командлета Unblock-File . Распакуйте содержимое в выбранное расположение и запустите pwsh.exe . В отличие от установки пакетов MSI при установке ZIP-архива не выполняется проверка соответствия предварительным требованиям. Для правильного удаленного взаимодействия с помощью WSMan необходимо обеспечить соответствие предварительным требованиям.

Используйте этот метод для установки версии PowerShell на основе ARM на таких компьютерах, как Microsoft Surface Pro X. Чтобы получить оптимальные результаты, устанавливайте PowerShell в папку $env:ProgramFilesPowerShell7 .

Этот метод можно использовать для установки любой версии PowerShell, в том числе последней:

Развертывание в Windows 10 IoT Корпоративная

Windows 10 IoT Корпоративная поставляется со средой Windows PowerShell, которую можно использовать для развертывания PowerShell 7.

Создайте PSSession для целевого устройства

Скопируйте ZIP-файл на устройство

Присоединитесь к устройству и извлеките архив

Настройте удаленное взаимодействие с PowerShell 7

Подключение к конечной точке PowerShell 7 на устройстве

Развертывание в Windows 10 IoT Базовая

Windows PowerShell добавляется в Windows 10 IoT Базовая, если вы включаете функцию IOT_POWERSHELL, которую можно использовать для развертывания PowerShell 7. Действия, описанные выше для Windows 10 IoT Корпоративная, могут быть выполнены и для центра Интернета вещей.

Чтобы добавить последнюю версию PowerShell в образ для доставки, используйте команду Import-PSCoreRelease для включения пакета в рабочую область и добавления OPENSRC_POWERSHELL в образ.

В архитектуре ARM64 Windows PowerShell не добавляется при включении IOT_POWERSHELL. Поэтому установка на основе ZIP-файла не поддерживается. Для добавления в образ используйте команду Import-PSCoreRelease .

Развертывание на Nano Server

В этих указаниях предполагается, что Nano Server — это операционная система для удаленного управления, в которой уже работает какая-либо версия PowerShell. Дополнительные сведения см. в разделе о средстве создания образов Nano Server.

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

  1. Автономно — подключите виртуальный жесткий диск Nano Server и распакуйте содержимое ZIP-файла в выбранное расположение в этом образе.
  2. В сети — передайте ZIP-файл через сеанс PowerShell и распакуйте его в выбранное расположение.

В обоих случаях требуется ZIP-пакет выпуска Windows 10 семейства x64. Выполните команды в экземпляре PowerShell с ролью администратора.

Автономное развертывание PowerShell

  1. С помощью любой служебной программы ZIP распакуйте пакет в каталог, находящийся внутри подключенного образа Nano Server.
  2. Отключите образ и загрузите его.
  3. Подключитесь к встроенному экземпляру Windows PowerShell.
  4. Следуйте инструкциям, чтобы создать конечную точку удаленного взаимодействия с помощью методики использования другого экземпляра.

Автономное PowerShell в сети

Разверните PowerShell в Nano Server, выполнив действия ниже.

Подключитесь к встроенному экземпляру Windows PowerShell.

Скопируйте файл на экземпляр Nano Server:

Войдите в сеанс:

Если вам требуется удаленное взаимодействие на основе WSMan, следуйте инструкциям, чтобы создать конечную точку удаленного взаимодействия с помощью методики использования другого экземпляра.

Установка в качестве глобального средства .NET

Если вы уже установили пакет SDK для .NET Core, установите PowerShell как глобальное средство .NET.

Установщик инструмента dotnet добавляет $env:USERPROFILE.dotnettools в переменную среды $env:PATH . Но в выполняющейся оболочке нет обновленной переменной $env:PATH . Вы можете запустить PowerShell из новой оболочки, введя pwsh .

Установка PowerShell с помощью диспетчера пакетов Windows

Программа командной строки winget позволяет разработчикам обнаруживать, устанавливать, обновлять, удалять и настраивать приложения на компьютерах Windows 10. Она является клиентским интерфейсом для службы Диспетчера пакетов Windows.

Список системных требований и инструкции по установке см. в документации по winget.

Для установки PowerShell с помощью опубликованных пакетов winget можно использовать следующие команды:

Найдите последнюю версию PowerShell.

Установите версию PowerShell, используя параметр —exact .

Установка из Microsoft Store

Версия PowerShell 7.1 опубликована в Microsoft Store. Этот выпуск PowerShell можно найти на веб-сайте Microsoft Store или в приложении Store в ОС Windows.

Пакет Microsoft Store обеспечивает следующие преимущества:

  • автоматические обновления, встроенные в основной механизм Windows 10;
  • интеграция с другими механизмами распространения программного обеспечения, такими как Intune и SCCM.

Пакеты Магазина Windows выполняются в песочнице приложения, которая виртуализует доступ к некоторым расположениям в файловой системе и реестре.

  • Все изменения реестра в разделе HKEY_CURRENT_USER при записи копируются в закрытое хранилище, отдельно для каждого пользователя и приложения. Таким образом, эти значения недоступны для других приложений.
  • Параметры конфигурации системного уровня, хранящиеся в $PSHOME , нельзя изменить. Это относится и к конфигурации WSMAN. Это означает, что вы не сможете подключать удаленные сеансы к установкам PowerShell на основе хранилища. Поддерживаются конфигурации уровня пользователя и удаленное взаимодействие по SSH.

Создание конечной точки удаленного взаимодействия

PowerShell поддерживает протокол удаленного взаимодействия PowerShell (PSRP) через SSH и WSMan. Дополнительные сведения см. в разделе:

Обновление существующей установки

Для получения оптимального результата при обновлении используйте тот же метод установки, который вы использовали при первой установке PowerShell. При использовании разных методов установки PowerShell устанавливается в разные расположения. Если вы не знаете, как была выполнена установка PowerShell, вы можете сравнить расположение установки со сведениями о пакетах из этой статьи. Если установка выполнена с помощью пакета MSI, эти сведения будут отображаться в разделе Программы и компоненты Панели управления.

Поддержка установки

Корпорация Майкрософт поддерживает методы установки, изложенные в этом документе. В других источниках могут быть доступны сторонние методы установки. Хотя такие инструменты и методы могут работать, корпорация Майкрософт не поддерживает их.

Установка Windows PowerShell

Windows PowerShell установлен по умолчанию в каждой ОС Windows, начиная с Windows 7 с пакетом обновления 1 (SP1) и Windows Server 2008 R2 с пакетом обновления 1 (SP1).

Если вас интересует PowerShell версии 7 или более поздней, вам нужно установить PowerShell Core вместо Windows PowerShell. Дополнительные сведения см. в статье Установка PowerShell Core в Windows.

Поиск PowerShell в Windows 10, 8.1, 8.0 и 7

Иногда найти консоль или ISE (интегрированную среду сценариев) PowerShell в Windows бывает непросто, так как их расположение в разных версиях Windows отличается.

Следующие таблицы помогут найти PowerShell в вашей версии Windows. Все указанные версии являются оригинальными, сразу после выпуска и без обновлений.

Консоль

Версия Location
Windows 10 Щелкните значок Windows в левом нижнем углу и начните вводить PowerShell.
Windows 8.1, 8.0 На начальном экране начните вводить PowerShell.
Если вы находитесь на рабочем столе, щелкните значок Windows в левом нижнем углу и начните вводить PowerShell.
Windows 7 с пакетом обновления 1 (SP1) Щелкните значок Windows в левом нижнем углу и в поле поиска начните вводить PowerShell.
Версия Location
Windows 10 Щелкните значок Windows в левом нижнем углу и начните вводить ISE.
Windows 8.1, 8.0 На начальном экране введите PowerShell ISE.
Если вы находитесь на рабочем столе, щелкните значок Windows в левом нижнем углу и введите PowerShell ISE.
Windows 7 с пакетом обновления 1 (SP1) Щелкните значок Windows в левом нижнем углу и в поле поиска начните вводить PowerShell.

Поиск PowerShell в версиях Windows Server

Начиная с Windows Server 2008 R2, операционную систему Windows можно установить без графического пользовательского интерфейса (GUI). Выпуски Windows Server без GUI называются выпусками Core, а выпуски с GUI — Desktop.

Выпуски Windows Server Core

Во всех выпусках Core при входе на сервер открывается окно командной строки Windows.

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

Выпуски Windows Server Desktop

Во всех выпусках Desktop нужно щелкнуть значок Windows в левом нижнем углу и начать вводить PowerShell. Появятся параметры консоли и ISE.

Единственное исключение из этого правила — ISE в Windows Server 2008 R2 с пакетом обновления 1 (SP1). В этом случае щелкните значок Windows в левом нижнем углу и введите PowerShell ISE.

Проверка версии PowerShell

Чтобы узнать, какая версия PowerShell установлена, запустите консоль PowerShell (или ISE), введите $PSVersionTable и нажмите клавишу ВВОД. Найдите значение PSVersion .

Обновление существующей версии Windows PowerShell

В пакет установки для PowerShell входит установщик WMF. Версия установщика WMF совпадает с версией PowerShell. Для Windows PowerShell нет отдельного установщика.

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

Windows PS 3.0 PS 4.0 PS 5.0 PS 5.1
Windows 10 (см. примечание 1)
Windows Server 2016
установлено
Windows 8.1
Windows Server 2012 R2
установлено WMF 5.0 WMF 5.1
Windows 8
Windows Server 2012
установлено WMF 4.0 WMF 5.0 WMF 5.1
Windows 7 с пакетом обновления 1 (SP1)
Windows Server 2008 R2 с пакетом обновления 1 (SP1)
WMF 3.0 WMF 4.0 WMF 5.0 WMF 5.1

Если в начальном выпуске Windows 10 включены автоматические обновления, PowerShell обновляется с версии 5.0 до 5.1. Если оригинальная версия Windows 10 не обновлена в Центре обновления Windows, версия PowerShell будет 5.0.

Необходимость Azure PowerShell

Если вы ищете Azure PowerShell, можно начать с раздела Общие сведения об Azure PowerShell.

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

Настройка рабочего окружения PowerShell в Windows и Linux

PowerShell — это платформа, инструмент автоматизации и настройки, который работает в различных операционных системах. PowerShell это больше чем просто скриптовый язык программирования, PowerShell содержит функции для управления локальным и удалённым компьютером. В зависимости от установленного ПО (в первую очередь административного и серверного программного обеспечения) количество функций (командлетов) PowerShell может быть различным.

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

PowerShell имеет богатые возможности, активно развивается, портирован на Linux, имеет огромную справку, которая также активно поддерживается и развивается. Эта статья посвящена не языку PowerShell, а настройке рабочего окружения для поддержки PowerShell и запуску скриптов — хотя PowerShell предустановлен в каждую Windows, свои особенности (трудности) есть даже там. Проще говоря, эта статья посвящена не тому, как написать свою первую программу «Hello, World!» на PowerShell, а тому, как запустить готовую программу «Hello, World!» в PowerShell.

Отличия PowerShell и CMD в Windows

В Windows PowerShell уже давно устанавливается по умолчанию.

Чтобы открыть PowerShell, нажмите Win+x и выберите Windows PowerShell (администратор):

В приглашении командной строки вы увидите PS и текущую рабочую директорию:

Чтобы открыть CMD нужно нажать Win+r, напечатать cmd и нажать ENTER:

Приглашение командной строки CMD выглядит так:

В CMD можно запустить:

  • утилиты командной строки Windows
  • встроенные функции CMD
  • файлы .bat

В PowerShell можно запустить всё то же самое, что и в CMD, а также дополнительно:

  • команды языка PowerShell
  • скрипты PowerShell

В PowerShell сработает такая простая команда как dir:

Но если выполнить эту команду в PowerShell и в CMD, то можно увидеть, что вывод этих команд различается.

А если попытаться выполнить эту команду с опцией, например:

То в CMD она сработает, а в PowerShell завершится ошибкой.

Дело в том, что вместо реализации таких же утилит как в CMD, в PowerShell используются собственные командлеты, работа которых различается, например, выводом или поддержкой опций. В PowerShell сработают команды cd, ls, dir, cat, man, kill, mount, move, sort, pwd, wget, curl и другие, знакомые по Linux, но это НЕ ОЗНАЧАЕТ что эти команды поддерживают те же самые опции, что и опции в Linux. Это просто аналоги, причём довольно грубые. Точнее говоря, это псевдонимы команд PowerShell. Полный список псевдонимов вы можете просмотреть командой:

Как установить PowerShell в Linux

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

  • в скрипте используются команды, которые отсутствуют в Linux версии PowerShell (например, из-за того, что связаны с настройками Windows или неприменимы для Linux по другим причинам)
  • скрипт обращается к переменным окружения Windows
  • в скрипте используются утилиты Windows, отсутствующие в Linux

Могут быть и другие причины проблем, но много всё равно работает.

Многие дистрибутивы Linux поддерживаются официально и простые инструкции по установке PowerShell в свой дистрибутив, а также установочные файлы вы найдёте здесь: Как установить PowerShell в Linux.

Установка PowerShell в Kali Linux

PowerShell добавлен в стандартные репозитории Kali Linux, поэтому установка очень простая:

Установка PowerShell в Arch Linux, BlackArch

Чтобы узнать версию PowerShell выполните команду:

Как запустить скрипт PowerShell в Windows

Для запуска скрипта с расширением .ps1 нужно открыть консоль PowerShell и затем указать полный путь до файла. Вы также можете перейти в папку со скриптом либо с помощью команды cd, либо, если вы хотите полностью окунуться в стиль PowerShell, то можете использовать Set-Location.

Например, мне нужно перейти в папку C:UsersАдминистраторDownloadsWinPwn-master:

Если вы просто попытаетесь запустить скрипт, то почти наверняка столкнётесь с ошибкой, что запуск скриптов запрещён. Для исправления ошибки выполните команду:

Запуск скрипта с помощью Import-Module

При запуске некоторых скриптов может ничего не происходить. Дело в том, что скрипт может содержать в себе функцию, которую нужно импортировать, а затем запустить. Поищите в документации по интересующей вас программе примеры со строкой Import-Module.

Например для запуска WinPwn нужно вначале импортировать файл с функциями:

А после этого можно вызывать содержащиеся в файле функции:

Как запустить скрипт PowerShell в Linux

В Linux для вызова консоли PowerShell нужно набрать:

Затем в консоли PowerShell либо просто запустите желаемый скрипт:

Либо запустите функцию после импорта файла с помощью Import-Module. Пример запуска через импорт одной из функции Invoke-TheHash:

Как получить справку по командам в PowerShell

Если вы хотите получить справку по опциям функции, команды или программы в PowerShell, то используйте команду Get-Help, после которой укажите другую команду, по которой вы хотите получить справку:

Для получения справки по Set-Location:

Для получения справки по Invoke-SMBEnum (после импорта функции из файла):

Как обновить PowerShell до последней версии

По умолчани в Windows 10 предустановлена версия PowerShell 5, но в настоящее время последней версией является PowerShell 7. Чтобы обновиться до последней версии смотрите статью «Как установить PowerShell 7 в Windows 10». Обратите внимание, что PowerShell 7 не заменит PowerShell 5. То есть в системе будут доступны обе версии PowerShell.

Адаптация скриптов PowerShell для Linux

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

В Invoke-TheHash есть функция Invoke-SMBEnum, которая выполняет перечисление пользователей, групп, сетевых сессий и совместных ресурсов. В Windows эта функция работает отлично. Попробую использовать её в Linux.

Запускаю консоль PowerShell:

Перехожу в папку с уже скаченными скриптами:

Импортирую файл с нужной функцией:

И получаю ошибку «Cannot find path ‘computername’ because it does not exist.», она означает, что не получается найти путь computername (имя компьютера), т. к. путь не существует. Ошибка возникла в этой строке:

Если попытаться выполнить отдельно команду из этой строки:

то она вызовет эту же самую ошибку:

Можно предположить (лучше посмотреть в справке, но мне лень туда лезть), что env имеет отношение к переменным окружения, а computername — это имя переменной, которая содержит (как следует из названия) имя компьютера. Судя по всему, в Linux эта переменная окружения не существует.

Самое простое решение — прописать это имя вручную. Для этого открываю файл Invoke-SMBEnum.ps1 текстовым редактором, нахожу там строку

И меняю её на такую строку:

То есть я просто прописал имя компьютера вместо получения его с помощью функции.

Важно помнить, что после импорта функция будет считываться не из файла, который я изменил, а из памяти. Поэтому чтобы PowerShell увидел сохранённые в файле изменения, нужно заново выполнить импорт файла — для этого пришлось закрыть (CTRL+d) и открыть заново PowerShell:

И после этого вновь запускаю команду:

В этот раз команда сработала.

  • после внесения изменений в файл нужно заново его импортировать (возможно, даже перезайти в PowerShell)
  • некоторые проблемы с запуском скриптов PowerShell в Linux достаточно просто решить самостоятельно

Задать вопрос по PowerShell

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

Борис Аладышкин/ автор статьи

Приветствую! Я являюсь руководителем данного проекта и занимаюсь его наполнением. Здесь я стараюсь собирать и публиковать максимально полный и интересный контент на темы связанные с современными технологиями и программным обеспечением. Уверен вы найдете для себя немало полезной информации. С уважением, Борис Аладышкин.

Понравилась статья? Поделиться с друзьями:
Itsovet61.ru
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: