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

Обновлено: 21.11.2024

Самое важное, что нужно сделать, прежде чем можно будет использовать PowerShell, — это убедиться, что он установлен, а если нет, его необходимо загрузить и установить. Если у вас Windows 7 или Windows Server 2008 R2, то ничего делать не надо. Оба они включают PowerShell 2.0. Однако если у вас нет Windows 7 или Windows Server 2008, вам, скорее всего, потребуется загрузить и установить PowerShell самостоятельно. Установить PowerShell просто, но сначала вы проверите, не установлен ли он уже. Безусловно, самый простой способ проверить — открыть окно запуска. Вы делаете это, нажимая на стартовое меню! Выполнить. Это вызовет диалоговое окно, теперь введите PowerShell и нажмите Enter. Если появится командное окно, у вас есть PowerShell. Теперь вы проверяете, установлена ​​ли у вас последняя версия. Самый простой способ — запустить PowerShell, а затем, когда запустится оболочка, ввести Gethelp about_Windows_PowerShell_2.0.

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

  • Windows Server 2003 с пакетом обновления 2
  • Windows Server 2008 с пакетом обновления 2
  • Windows XP с пакетом обновлений 3
  • Windows Vista с пакетом обновления 1 или более поздней версии

После того как вы загрузили и установили последнюю версию PowerShell, вы готовы перейти к остальной части этого руководства. Конечно, если у вас уже есть PowerShell версии 2.0, то ничего делать не нужно.

Введение в скрипты PowerShell

Одно лишь упоминание слова "скрипты" заставляет многих смелых администраторов бежать куда глаза глядят. Смельчаки тут же берут трубку и звонят своему другу-программисту. Так быть не должно. Скрипты PowerShell легко понять. Кроме того, PowerShell имеет простую справку, доступную для всего, что вам нужно использовать. Теперь в версии 2.0 у него есть опция онлайн-справки. После того, как PowerShell будет установлен в вашей системе, просто откройте и запустите его. Должно появиться окно, очень похожее на окно DOS. Теперь вы будете вводить команду. Вы вводите команды в PowerShell, вводя команду и нажимая клавишу ввода. Командлет или командлет — это, по сути, команда Windows PowerShell. командлеты — это то, что позволяет вам выполнять то, что вы хотите, с помощью PowerShell. Все командлеты следуют определенному соглашению об именах «глагол-существительное», что упрощает их изучение и использование.

Самый важный командлет в PowerShell — это get-help. Один только этот командлет может предоставить вам инструменты, необходимые для выхода из любой ситуации. Вы можете ввести Get-help, а затем любой командлет PowerShell, чтобы получить полезную информацию о них. Альтернативой командлету get-help является команда man. Он работает так же, как командлет get-help, но приостанавливает работу экрана и отображает страницу за раз, а не всю информацию сразу.

Чтобы убедиться, что вы готовы выполнять командлеты, скрипты и импортировать модули в PowerShell, убедитесь, что ваша политика выполнения позволяет запускать нужные вам командлеты. По умолчанию политика выполнения ограничена. Вам нужно установить его как минимум на RemoteSigned. RemoteSigned позволит вам запускать любой написанный вами сценарий, а также любой загруженный сценарий, подписанный доверенным издателем. Вы можете проверить свою политику выполнения с помощью командлета Get-ExecutionPolicy следующим образом:

Запустите PowerShell от имени администратора. Для изменения политики выполнения вам потребуются права администратора.
Введите Get-ExecutionPolicy. Эта команда должна вернуть вашу текущую политику выполнения, которая по умолчанию будет ограниченной. Ваша цель — изменить его на RemoteSigned.
Введите Set-ExecutionPolicy RemoteSigned. Когда командлет запустится, он выдаст вам предупреждение о том, что вы меняете политику выполнения, и диалоговое окно подтверждения. По умолчанию установлено значение «Да», поэтому просто нажмите Enter. Вуаля, вы только что изменили политику выполнения на RemoteSigned. Вы можете проверить это, введя Get-ExecutionPolicy в командной строке PowerShell. Ваша новая политика выполнения должна отображаться как RemoteSigned, если вы все сделали правильно, и это означает, что вы готовы продолжить.

PowerShell позволяет писать командлеты по одной строке и нажимать клавишу ввода, как в оболочке командной строки, но одним из основных преимуществ является возможность написания сценариев. В этих разделах вы увидите несколько шагов, иллюстрирующих, как что-то делается. Все сделано пошагово просто для наглядности. Все это можно было бы сделать, записав их в текстовый файл, назвав файл расширением .ps1 и просто вызвав файл. Файл будет обрабатываться так, как если бы вы вводили все командлеты в командной строке. Это одно из самых больших преимуществ PowerShell. Вы пишете его один раз, а затем можете использовать его несколько раз, когда вам это нужно.Это устраняет человеческий фактор, связанный с бездумным повторением, а также упрощает обмен решениями с другими администраторами.

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

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

Как найти PowerShell в Windows 11, 10, 8.1, 8.0 и 7

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

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

Для консоли

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

Для ISE

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

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

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

Выпуски Windows Server Core

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

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

Выпуски Windows Server для настольных ПК

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

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

Как проверить версию PowerShell

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

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

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

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

< tr>< td>Windows 8
Windows Server 2012
Windows PS 3.0 PS 4.0 PS 5.0 PS 5.1
Windows 11
Windows Server 2022
- - - установлен
Windows 10 (см. примечание 1)
Windows Server 2016
- - - установлен
Windows 8.1
Windows Server 2012 R2
- установлена WMF 5.0 WMF 5.1
inst alled WMF 4.0 WMF 5.0 WMF 5.1
Windows 7 SP1
Windows Server 2008 R2 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.

Получить изображения

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

Что делать, если вы еще не совсем готовы к развертыванию Windows 10 по всей сети? Не все потеряно. Вы можете обновиться до PowerShell 5 в Windows 7, и на самом деле рекомендуется сделать это, чтобы добавить ведение журнала блоков подозрительных сценариев, которого нет в PowerShell, поставляемом в Windows 7.

Чтобы установить PowerShell 5 в Windows 7, необходимо выполнить несколько обязательных условий:

Далее включите ведение журнала через групповую политику, настроив ее следующим образом:

Перейдите к административным шаблонам, затем к компонентам Windows, а затем к Windows PowerShell. Там вы сделаете несколько настроек.

Добавить вход в блок сценария PowerShell

Первый вариант, «Включить ведение журнала модулей», записывает фрагменты скриптов и расшифрованного кода, а также регистрирует события с идентификатором 4103 в журнале Windows PowerShell. Вы захотите определить, какие модули вы хотите отслеживать. Чтобы получить список модулей, используйте командлет Get-Module -ListAvailable PowerShell, а затем добавьте модули, которые вы хотите проверить. В качестве альтернативы вы можете ввести * для регистрации всех модулей. Используйте подстановочный знак, чтобы изначально настроить ведение журнала.

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

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

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

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

Пример команды PowerShell

Как вы можете видеть ниже, вы можете увидеть результаты сценария PowerShell в журнале аудита и просмотреть их постфактум.

Доказательство выполнения команды PowerShell

Теперь вы можете просматривать журналы PowerShell, чтобы узнать, какие действия в системе выполнялись ранее. Это может помочь выявить вредоносные действия PowerShell. Как отмечается в блоге Fireeye, вредоносные сценарии PowerShell можно дополнительно запутать с помощью кодировки base64. Злоумышленники часто следят за тем, чтобы такие сценарии выполнялись без вывода сообщений. Даже если вы не можете изучить все детали сценария PowerShell, вы можете найти эти методы запутывания и сравнить отслеживаемые события со сценариями, которые вы используете в своей сети.

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

В этой статье мы покажем, как обновить версию 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, 7.1 и т. д.), это две разные платформы. Итак, мы покажем, как обновить Windows PowerShell и PowerShell Core.

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

PowerShell 4.0 устанавливается по умолчанию в Windows Server 2012 R2 (Windows 8.1). Попробуем обновить версию Windows PowerShell до версии 5.1 на Windows Server 2012 R2.

Прежде всего проверьте текущую версию PowerShell (на снимке экрана показана версия PowerShell 4.0):

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

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

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

Как установить или обновить PowerShell Core 7?

Обратите внимание, что последней версией 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 7.1 разработчики добавили максимальную совместимость с Windows PowerShell. Таким образом, вы можете легко запускать свои старые сценарии и командлеты PS1 в PowerShell Core.

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

  • Вы можете загрузить установщик MSI PowerShell Core вручную с GitHub.
  • Его можно загрузить и установить (обновить) прямо из консоли PowerShell.

Последние выпуски PowerShell Core можно установить во всех версиях Windows, начиная с Windows 7 SP1, Server 2008 R2 и новее.

Загрузите файл MSI и установите его.

Чтобы установить PowerShell Core из пакета MSI с помощью SCCM/MDT/скриптов в тихом режиме, вы можете использовать команду со следующими параметрами:

msiexec.exe /package PowerShell-7.1.0-win-x86.msi /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1

Вы можете обновить PowerShell прямо из PS cli.

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

Эта команда загружает файл дистрибутива PowerShell 7.1 MSI с GitHub, а затем запускает установку с помощью установщика MSI.

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

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

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

установка winget --id=Microsoft.PowerShell -e

установка winget --id=Microsoft.PowerShell -v "7.1.2" -e

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

choco install powershell -y
choco upgrade powershell -y
или для PowerShell 7.x:
choco install pwsh -y
choco install pwsh -y

Обратите внимание на каталоги разных версий PowerShell:

  • Windows PowerShell 5.1: $env:WINDIR\System32\WindowsPowerShell\v1.0
  • PowerShell Core 6.x: $env:ProgramFiles\PowerShell\6
  • PowerShell Core 7.x: $env:ProgramFiles\PowerShell\7

Если на вашем компьютере была установлена ​​оболочка PowerShell 6.x, каталог $env:ProgramFiles\PowerShell\6 автоматически удаляется при установке PowerShell 7.1.

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

Это означает, что на вашем компьютере установлены Windows PowerShell 5.1 и PowerShell Core 7.1.

Чтобы узнать версию и сборку PowerShell, установленную на вашем устройстве, вы можете проверить версию файла pwsh.exe:

(Get-Command 'C:\Program Files\PowerShell\7\pwsh.exe'). Версия

Вот как вы можете проверить версию файла на удаленном компьютере:

Invoke-Command -Computername computer1 -Scriptblock

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

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe - Версия 4

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

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

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

Вы можете скачать файл приложения APPX/MSIX и установить его с помощью командлета Add-AppxPackage (или как описано в статье «Восстановление Microsoft Store»).

Развертывание PowerShell Core с групповой политикой

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

  1. Загрузите установочный файл PowerShell MSI и скопируйте его в каталог SYSVOL на контроллере домена.
  2. Откройте консоль управления групповыми политиками домена ( gpmc.msc ), создайте новый объект групповой политики и свяжите его с OU с компьютерами и серверами;
  3. Перейдите в раздел GPO Computer Configuration -> Software Settings, создайте новый пакет и укажите путь к установочному MSI-файлу PowerShell в папке SYSVOL в домене (используйте UNC-путь);

Удаленное обновление PowerShell

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

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

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


$ADComputers = Get-ADComputer -Filter 'операционная система -например "*Windows 10*" -и включено -eq "true"'
ForEach ($computer в $ADcomputers) Invoke-Command - Имя_компьютера $computer -UseMSI -Quiet">
>

Будьте осторожны при использовании команд PowerShell Remoting при подключении к удаленным компьютерам (с помощью командлетов Enter-PSSession и Invoke-Command). Если вам нужно подключиться к конечной точке PowerShell 7.1, вам нужно использовать команду:

Читайте также: