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

Windows Server Core 2019 — это вариант операционной системы Windows Server 2019, разработанный для серверов с минимальной графической оболочкой. Он предоставляет базовую функциональность серверной ОС с уменьшенным объёмом графического интерфейса пользователя, что позволяет сократить требования к ресурсам, уменьшить поверхность для атак и упростить управление и обслуживание.
Windows Server Core 2019 идеально подходит для инфраструктур, где важно минимизировать использование ресурсов и повысить безопасность, особенно в средах, где серверы управляются централизованно и удаленно.
Основным средством управления сервером в Windows Server Core является командная строка. Но зачастую для системного администрирования и автоматизации используется инструмент, который предлагает значительно более широкий функционал и гибкость за счет использования .NET объектов и сложных сценариев. Это — PowerShell.
Windows Server 2019 must have PowerShell Transcription enabled.
Overview
| Finding ID | Version | Rule ID | IA Controls | Severity |
|---|---|---|---|---|
| V-257503 | WN19-CC-000530 | SV-257503r921895_rule | Medium |
| Description |
|---|
| Maintaining an audit trail of system activity logs can help identify configuration errors, troubleshoot service disruptions, and analyze compromises that have occurred, as well as detect attacks. Audit logs are necessary to provide a trail of evidence in case the system or network is compromised. Collecting this data is essential for analyzing the security of information assets and detecting signs of suspicious and unexpected behavior. Enabling PowerShell Transcription will record detailed information from the processing of PowerShell commands and scripts. This can provide additional detail when malware has run on a system. |
| STIG | Date |
|---|---|
| Microsoft Windows Server 2019 Security Technical Implementation Guide | 2023-09-11 |
Details
| Check Text ( C-61238r921893_chk ) |
|---|
| If the following registry value does not exist or is not configured as specified, this is a finding: Registry Hive: HKEY_LOCAL_MACHINE Value Name: EnableTranscripting Value Type: REG_DWORD |
| Fix Text (F-61162r921894_fix) |
|---|
| Configure the policy value for Computer Configuration >> Administrative Templates >> Windows Components >> Windows PowerShell >> “Turn on PowerShell Transcription” to “Enabled”. |
Основные настройки через sconfig
sconfig — это консольный инструмент для базовой настройки сервера. Его можно запустить из командной строки командой:
Интерфейс sconfig представляет собой меню, состоящее из некоторого количества пунктов.

Данное меню предоставляет возможность:
- изменить принадлежность сервера к домену или рабочей группе;
- изменить имя хоста;
- добавить учётную запись локального администратора;
- сконфигурировать удалённое управление сервером;
- настроить параметры автоматического обновления операционной системы;
- проверить наличие и установить обновления операционной системы;
- включить и отключить удалённый рабочий стол;
- сконфигурировать сетевые настройки, такие как IP-адрес VPS, шлюза, DNS-сервера и т.д.;
- настроить на сервере дату и время;
- настроить уровень телеметрии, отправляемой в Microsoft;
- ввести лицензионный ключ и активировать копию операционной системы;
- выйти из текущей сессии пользователя;
- перезагрузить виртуальный сервер;
- выключить виртуальный сервер;
- покинуть интерфейс
sconfigпри помощи последнего пункта меню.
Для перехода между пунктами меню используйте соответствующее число, указанное в каждом пункте в качестве его номера.
Данный функционал помогает быстро и эффективно настраивать и управлять сервером в режиме Core без необходимости использования графического интерфейса.
В целом, работа в Windows Server Core может требовать некоторых навыков командной строки и PowerShell. При этом данный режим значительно повышает безопасность и производительность системы за счёт минимизации используемых компонентов.
![]()
Информация о Windows PowerShell 7.4.3
| Лицензия | Бесплатно | |
| ОС | Windows | |
| Раздел | Общие | |
| Язык | Pусский | |
| Автор | Microsoft | |
| Загрузки | 186,809 | |
| Дата | 19 июн 2024 | |
| Возрастные ограничения | Не указано | |
| Реклама | Не указано | |
| Почему это приложение опубликовано на Uptodown? | (Больше информации) |
Предыдущие версии
22 мая 2024
2 янв 2024
27 окт 2023
22 авг 2023
3 июл 2023
11 ноя 2022
Оценить это приложение
Рейтинг
Другие приложения автора
Установите Word, Excel и PowerPoint с Office 2019
Попробуйте новую версию Windows еще до официального выхода
Новая версия самого популярного офисного пакета
Новая версия Windows – откройте новые возможности!
Версии Word, Excel, PowerPoint и Outlook 2021 года
Официальное расширение для открытия файлов в формате HEIF в Windows
Оптимальная производительность для мультимедийных приложений
Объектно-ориентированный динамический язык программирования
Многоплатформенный редактор кода для Microsoft
Полнофункциональный текстовый редактор для программистов от GitHub
Новая среда программирования для Android
Быстро и легко создавайте мультимедийные приложения
Запускайте приложения, созданные с помощью .NET в Windows
Среда для программирования под Android
Многоплатформенный редактор кода для Microsoft
Создавай приложения на HTML5 максимально просто
Сравнение отличий и синхронизация табличных баз данных в PostgreSQL
Генерируйте большие массивы тестовых данных для Oracle
Исследуйте и документируйте базы данных Oracle
Инструмент для сравнения схем Oracle и синхронизации
Мощный, быстрый и лёгкий в использовании инструмент сравнения данных
Многофункциональный графический интерфейс PostgreSQL
Администрирование компьютеров Windows 10 и 11 с помощью PowerShell
С помощью PowerShell вы можете конфигурировать различные параметрами в пользовательских операционных системах (Windows 10 и 11):
Управление Exchange с помощью PowerShell
Командлеты PowerShell это важный инструмент администрирования и автоматизации on-premises Exchange Server и Exchange Online (Microsoft 365). Для подключения к Exchange Online нужно установить модуль EXO. К Exchange Server можно подключиться удаленно с любого компьютера и импортировать командлеты PowerShell для Exchange в свою сессию.
- Перевод Exchange Server в режим обслуживания, очистка и перемещение логов Exchange
- Настройка ящиков пользователей: включить/отключить переадресацию почты в ящике Exchange, предоставить права доступа к ящику Exchange или календарю, настроить региональные параметры ящика Exchange; создать/удалить правило в ящике пользователя; поиск и удаление писем в ящиках Exchange; разрешить автоподключение ящиков Exchange в Outlook; включить и настроить автоответ в почтовом ящике
- Проверить размер почтового ящика, задать квоты в Exchange Server
- Конвертировать ящик пользователя в общий и наоборот
- Управление группами рассылок (distribution group)
- Как удалить или переименовать почтовую базу в Exchange
- Аудит действий пользователя в ящике Exchange
-
Get-MessageTrackingLog
– анализов журналов доставки писем в Exchange
Использование PowerShell для администрирования Active Directory
Для администрирования леса/домена Active Directory используется модуль RSAT-AD-PowerShell:
Работа с файлами в PowerShell
-
Import-CSV
,
Export-CSV
– чтение, экспорт данных в CSV файлы из скриптов PowerShell - Чтение и запись в Excel файл из PowerShell
Установка/обновление PowerShell Core на удаленных комьютерах
Рассмотрим два сценария установки или обновления версии PowerShell Core на множестве компьютерах.
Обновление PowerShell Core с помощью GPO
В домене Active Directory вы можете централизованно установить и обновить PowerShell Core с помощью групповой политики. Воспользуйтесь возможностями установки программ с помощью MSI пакетов в GPO.
- Скачайте установочный MSI файл PowerShell и скопируйте его в каталог SYSVOL на контроллере домена;
- Откройте консоль управления доменными GPO (
gpmc.msc
), создайте новую GPO и назначьте ее на OU с компьютерами и серверами; - Перейдите в раздел GPO Computer Configuration –> Software Settings, создайте новый пакет и укажите для него путь к установочному MSI файлу PowerShell в SYSVOL;

Для более тонкого нацеливания политики на клиентов можно использовать WMI фильтры GPO.
- Для обновления групповых политик установки ПО нужно перезагрузить компьютеры. Во время загрузки на всех компьютерах будет установлена новая версия PowerShell.
Обновление PowerShell на удаленных компьютерах из командной строки
Вы можете обновлять PowerShell на удаленных компьютерах из командной строки.
- Первый способ позволяет удаленно обновить PowerShell на компьютере с помощью MSI установщика в сетевом каталоге:
Invoke-Command -ComputerName dc01 -ScriptBlock {Start-Process msiexec.exe -ArgumentList '/package "\\srv1\share\PowerShell-7.3.3-win-x64.msi" /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1' -Wait} - Следующий скрипт позволит выбрать все активные компьютеры с 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 {iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI -Quiet"}
}
Будьте внимательными при использовании команд PowerShell Remoting при подключении к удаленным компьютерам (Enter-PSSession, Invoke-Command). Если вам нужно подключиться к точке управления PowerShell 7 нужно использовать команду:
Enter-PSSession -ComputerName dc01 -ConfigurationName "powershell.7"
Иначе вы подключитесь к точке PowerShell Remoting 5.1.
Обновление PowerShell в Linux дистрибутивах чаще проще всего выполняется через нативный менеджер пакетов.
Автоматизация PowerShell в сторонних продуктах
Как узнать общее время работы (uptime) Windows?


Ограничение на количество одновременных сетевых подключений в Windows 10 и 11

Автоматизация любых действий в браузере с помощью PowerShell и Selenium

Настройка режима киоска в Windows 11

Проверка учетных данных пользователя AD из скрипта PowerShell

Как заблокировать программе доступ в Интернет в Windows?

Тест скорости Интернета в Windows из CMD/PowerShell

PowerShell скрипт для проверки совместимости компьютеров с Windows 11

Включаем аудит доступа к папкам и файлам в Windows

Добавление хоста ESXi в VMware vCenter

Копирование (синхронизация) файлов из SharePoint в локальную папку

Создание, удаление, управление точками восстановления в Windows 10 и 11

Удаленное подключение, получение данных с помощью PowerShell
- Удаленные подключения PowerShell Remoting через SSH
- Управление компьютерами в рабочей группе из PowerShell
- Удаленное подключение PowerShell через HTTPS
- Командлет
Enter-PSSession
– создать интерактивную PowerShell сессию с удаленным компьютером - Получить имя пользователя на удаленном компьютере
- Командлет
Invoke-Command
– запуск команд и скриптов PowerShell на удаленных компьютерах - Проверка открытых/закрытых портов на удаленном хосте с помощью PowerShell
-
Invoke-WebRequest
– получить данные с веб страницы, скачать файл с помощью PowerShell -
Send-MailMessage
– PowerShell командет для отправки писем по протоколу SMTP
Управление через PowerShell
Для запуска данной командной оболочки введите:
А следующая команда используется в PowerShell для установки роли Active Directory Domain Services. Она добавляет необходимые компоненты и службы, чтобы сервер мог функционировать как контроллер домена в среде Active Directory:
Install-WindowsFeature -Name AD-Domain-Services
Чтобы проверить текущее состояние брандмауэра для всех профилей, используйте команду:
В свою очередь следующая команда включает брандмауэр Windows для всех указанных профилей сети (Domain, Public, Private). Это означает, что брандмауэр будет активен и будет фильтровать входящий и исходящий трафик в зависимости от настроенных правил для каждого профиля:
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
При помощи PowerShell можно установить текущий часовой пояс в настройках системы:
Set-TimeZone "Russia Time Zone 3
Также PowerShell можно использовать для изменения имени компьютера. Например, следующая команда назначает хосту новое имя windows-server, указывает, что команда должна вернуть объект, представляющий переименованный компьютер, после чего перезагружает сервер:
Rename-Computer -NewName windows-server -PassThru -Restart
При подключении к виртуальной машине на Windows Server Core по умолчанию открывается командная строка, то есть утилита cmd. При этом операционная система предоставляет администратору возможность запускать вместо этого командную оболочку PowerShell. Чтобы это осуществить, необходимо внести некоторые изменения в системный реестр Windows.
Для установки PowerShell в качестве интерфейса по умолчанию выполните следующую команду:
Set-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows NT\CurrentVersion\WinLogon' -Name Shell -Value 'PowerShell.exe'
Затем перезагрузите систему:
Использование PowerShell для администрирования и автоматизации задач
PowerShell – это командная оболочка и полноценный объектно-ориентированный язык сценариев основанный на .NET, который можно использовать для управления компьютерами и созданий скриптов автоматизации различных задач администрирования. Среда PowerShell предустановлена в Windows.
Команды PowerShell (называются командлеты) можно запускать в командной строке
powershell.exe
(
pwsh.exe
для PowerShell Core 6.7, 7.x), или можно использовать встроенный в Windows редактор сценариев PowerShell ISE (с подсветкой кода, справочником команд, средствами отладки). Еще больше возможностей для работы с кодом PoweShell дает бесплатный редактор Visual Studio Code (VSCode). В консоли PowerShell доступна история выполненных ранее команд.
На данный момент есть две ветки PowerShell:
- Windows PowerShell до версии 1 — встроенная в Windows классическая версия PowerShell, основанная на .NET Framework. На данный момент PowerShell 5.1 не развивается Microsoft.
- PowerShell Core x, 7.x — актуальная кроссплатформенная версия PowerShell, основанная на .NET Core. Активно развивается. Эту версию PowerShell нужно устанавливать и обновлять отдельно. Возможна установка на PowerShell Core на Linux.
PowerShell позволяет системным администраторам автоматизировать и управлять различными компонентам дестопных версий Windows, ролями Windows Server, и другими компонентами инфраструктуры Microsoft и сторонними продуктами.

Обновление Windows PowerShell до 5.1
Во всех версиях, начиная с Windows 10 и Windows Server 2016, Windows PowerShell 5.1 уже установлен по-умолчанию.
В предыдущих версиях (Windows 7/8.1 и Windows 2008 R2/2012) обновление до PowerShell 5.1 нужно выполнять вручную. Например, в Windows Server 2012 R2 (Windows 8.1) установлен PowerShell 4.0.
Попробуем обновить версию Windows PowerShell в Windows Server 2012 R2 до версии 5.1.
Сначала проверьте текущую версию PowerShell (на скриншоте видно, что это PowerShell 4.0):

Чтобы обновить вашу версию PowerShell до 5.1, нужно установить пакет Windows Management Framework (WMF) 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

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

Если установить WMF 5.1, но не установить .NET 4.5.2 (или более новый), часть функций PowerShell не будет работать.
Установите MSU файл Windows Management Framework 5.1.

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

Если у вас остались снятые с поддержки Windows Server 2008 R2 и Windows 7, вы можете обновить на них версию PowerShell с 2.0 до 5.1 аналогичным способом. Сначала устанавливается .Net Framework 4.5.2 (или выше) и затем WMF 5.1 (ссылки загрузки будут другими, чем для Windows Server 2012 R2).
Установка/обновление PowerShell Core 7.x
PowerShell Core является кроссплатформенной и находится в стадии активной разработки (в отличии от Windows PoweShell 5.1). По сути, PowerShell Core это новая платформа, которая устанавливается в операционной системе вместе с классическим Windows PowerShell. Т.е. нельзя обновить PowerShell 5.1 до PowerShell Core 7.1. PowerShell 7 устанавливается на компьютере отдельно от Windows PowerShell 5.1 (side by side).
На данный момент доступны версии PowerShell Core 6.x и 7.x. Рекомендуется всегда устанавливать последнюю версиях PowerShell (сейчас это 7.3), если вам не требуется особая совместимость с legacy скриптами.
Вы можете обновить (установить) версию PowerShell Core в Windows 10 и 11 несколькими способами:
- С помощью MSI установщика PowerShell Core, который можно скачать на GitHub
- С помощью менеджера пакетов WinGet
- С помощью магазина приложений Microsoft
Далее мы рассмотрим все эти способы на примере обновления PowerShell Core до 7.3 в Windows 10 22H2
Обновить PowerShell Core с помощью MSI установщика

Доступны следующие опции установки:
- Add PowerShell to Path Environment Variable
- Register Windows Event Logging Manifest (для событий PowerShell будет создан отдельный журнал Event Viewer
%SystemRoot%\System32\Winevt\Logs\PowerShellCore%4Operational.evtx
) - Enable PowerShell Remoting (включает и настраивает WinRM для PowerShell Remoting)
- Add ‘Open here’ context menu to Explorer
- Add ‘Run with PowerShell 7’ context menu for PowerShell files

Далее вы можете включить автоматическое обновление PowerShell Core через WIndows Update/WSUS (рассмотрено ниже).

Для установки PowerShell Core из MSI пакета средствами SCCM/MDT/скриптами в тихом режиме можно использовать команду установки со следующими параметрами:
- ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL
- ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL
- ENABLE_PSREMOTING
- REGISTER_MANIFEST
- ADD_PATH
- DISABLE_TELEMETRY
- USE_MU – использовать Microsoft Update для получения обновлений PSCore
- ENABLE_MU – разрешить обновление PowerShell Core через Windows Update
Например, команда установки может выглядеть так:
msiexec.exe /package PowerShell-7.3.3-win-x64.msi /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1 ADD_PATH=1 ENABLE_MU=1 ADD_PATH=1
Вы можете обновить PowerShell непосредственно из консоли. Чтобы установить или обновиться до последней версии PoSh Core, выполните команду:
Данная команда загружает установочный MSI файл PowerShell 7.3 с GitHub и запускает установку через MSI Installer.

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

Используем менеджер пакетов WinGet для установки/обновления PowerShell Core
Если у вас установлен пакетный менеджер WinGet, вы можете установить или обновить версию PowerShell до актуальной командой:
winget install --id Microsoft.Powershell --source winget
Либо можно установить конкретную версию 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
Обратите внимание на каталоги различных версий PowerShell:
- Windows PowerShell 5.1:
$env:WINDIR\System32\WindowsPowerShell\v1.0 - PowerShell Core 6.x:
$env:ProgramFiles\PowerShell\6 - PowerShell 7.x:
$env:ProgramFiles\PowerShell\7
Если на компьютере был установлен PowerShell 6.x, то при установке PowerShell 7.3 каталог
$env:ProgramFiles\PowerShell\6
автоматически удаляется.
Обратите внимание, что имя исполняемого файла среды 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.3.

Чтобы узнать версию PowerShell можно проверять версию файла pwsh.exe:
(Get-Command 'C:\Program Files\PowerShell\7\pwsh.exe').Version
Так можно проверить версию файла на удаленном компьютере:
Чтобы запустить предыдущую версию PowerShell (например 4), используйте команду:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Version 4
Установка PowerShell Core через Microsoft Store
В Windows 10 и 11вы можете установить или обновить PowerShell через магазин приложений Microsoft Store. Приложение PowerShell можно найти в магазине вручную, или воспользуйтесь этой ссылкой.
Также вы можете установить магазинную версию PowerShell через WinGet:
winget search powershell --source msstore
winget install --id 9MZ1SNWT0N5D
Преимущество установки PowerShell Core через Microsoft Store в том, что магазин прилжений будет автоматически контролировать установленную версию PowerShell и автоматически устанавливать обновления по мере их появления.
Вы можете проверить, установлена ли у вас Store версия PowerShell Coreс помощью команды:
В этом примере пакет Microsoft.PowerShell_7.3.3.0_x64__8wekyb3d8bbwe установлен.

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

Обновление PowerShell через Windows Update или WSUS
До версии PowerShell Core 7.2 не поддерживалось автоматическое обновление pwsh.exe. После выхода нового релиза в консоли появилось уведомление:
A new PowerShell stable release is available. Upgrade now, or check out the release page at: https://aka.ms/PowerShell-Release?tag=v7.1.3
Начиная с версии 7.2, PowerShell Core поддерживает автоматическое обновление через Windows Update ( Microsoft Update, Windows Update for Business, внутренний WSUS сервер или SCCM). Для этого при установке MSI пакета нужно включить соответствующие опции.
Проверьте, что в панели управления Settings -> Update and Security -> Windows Update -> Advanced Options теперь включена опция Receive updates for other Microsoft products when you update Windows.

Теперь, когда вы нажимаете кнопку Check for Updates или запускаете сканирование обновлений через модуль PSWindowsUpdate, вы также будете получать обновления для PowerShell Core.

PowerShell в администрировании ролей Windows Server
PowerShell – это отличное средство автоматизации настройки и управления платформой Windows Server. Практически все действия, которые вы выполняете с помощью графических оснасток можно сделать с помощью PowerShell. PowerShell значительно упрощает одновременное администрирование десятков и сотен серверов с Windows Server 2022/2019/2016/2012R2.
- Установка и удаление ролей в Windows Server через PowerShell
- Файловый сервер: управление общими сетевыми папками с помощью PowerShell
- Установка, настройка и администрирование роли Remote Desktop Services (RDS): развертывание фермы серверов RDS; настройка шлюза RD Gateway; перенос ролей RDS на другой сервер;
- Включить поддержку Wi-Fi адаптеров в Windows Server
- Установка и настройка службы SNMP в Windows
- Основные команды настройки Windows Server Core из консоли PowerShell
- Администрирование роли Hyper-V требует наличия установленного PowerShell модуля Hyper-V. Он позволяет: установить Windows в виртуальную машину Hyper-V; настроить автозапуск ВМ; клонирование, экспорт и импорт виртуальных машин в Hyper-V
- Использование iSCSI дисков в Windows Server
- Установка и настройка роли DHCP сервера в Windows Server



