
Компания Microsoft позволяет разработчикам бесплатно активировать операционную систему Windows и набор программ Office, чем могут воспользоваться обычные люди. Энтузиасты разработали специальные скрипты, позволяющие активировать эти продукты без покупки ключей и и возни с пиратскими утилитами.
Коллекция Microsoft Activation Scripts доступна на GitHub. С её помощью можно бесплатно активировать различные версии и редакции Windows и Office. Активация производится встроенными средствами Windows несколькими способами.
Способ 1 — через PowerShell
В Windows 8, 10 или 11 откройте меню «Пуск» и запустите PowerShell или «Терминал» с правами администратора.
Выберите, что именно вам нужно активировать.
Способ 2 — через скрипт
Выберите, что именно вам нужно активировать.

Microsoft Activation Scripts — проект с открытым исходным кодом, опубликованным на GitHub. В пользу легальности этого способа активации говорит тот факт, что компания Microsoft не удаляет этот проект с GitHub (а сделать это было бы несложно, с учётом того, что GitHub принадлежит Microsoft).
Стоит иметь в виду, что некоторые продукты активируются этим способом временно, поэтому спустя какое-то время придётся активировать их заново. Кроме того, есть вероятность, что в какой-то момент Microsoft может отозвать все подобные активации (например, если решит, что слишком много пользователей злоупотребляют ими).
2 минута. читать
Опубликован в
Хотите запустить сценарий PowerShell из CMD, поскольку он может быть недоступен в вашей системе? Или вы просто хотите включить Функциональность PowerShell без переписывания всего сценария в командный файл CMD? Если на любой из этих вопросов вы ответили «Да», эта статья вам поможет!
Как запустить сценарий PowerShell из CMD
- Откройте Командная строка в Windows с повышенными правами из Меню Пуск , введя CMD и нажав CMD приложение> Запуск от имени администратора.
- По умолчанию консоль CMD откроется в C: \ Windows \ System32 папку.
- Перейдите в каталог сценария PowerShell, используя команду CD команда.
- Например, у меня есть PS1 скрипт in диск D, поэтому я запускаю следующую команду в CMD: кд/д Д:
- Теперь выполните эту команду: powershell.exe .\SimplePS.ps1.
- Замените .\SimplePS.ps1 с вашим собственным именем файла сценария PowerShell с расширением PS.
- Сценарий должен выполняться в выбранном каталоге в соответствии с базовыми кодами. Если есть что распечатать, вы увидите это в CMD.
- Например, “Здравствуйте, это простой скрипт PowerShell!» в текущем сценарии.
Совет эксперта
При запуске сценария PowerShell на CMD процесс может прерваться из-за неподходящих настроек Set-ExecutionPolicy функцию.
Есть два способа исправить эту ошибку:
- Щелкните правой кнопкой мыши на Меню Пуск значок и выберите Windows PowerShell (Администратор) из Power User контекстное меню.
- Когда вы увидите консоль, выполните следующую команду: Установить ExecutionPolicy RemoteSigned.
- Удар Enter.
- Когда ты видишь Да и Нет подсказки, нажмите Y и нажмите Enter .
- Откройте CMD с повышенными правами.
- Скопируйте и вставьте эту команду и нажмите Enter: powershell Set-ExecutionPolicy RemoteSigned.
Теперь вы знаете, как запустить сценарий PowerShell из CMD. Это быстрый и удобный способ запуска сложных сценариев на элементарном уровне. терминал.
Статья помогла? Знаете ли вы лучший способ добиться того же результата? Поделитесь своими мыслями ниже.
Опытный блоггер и обозреватель программного обеспечения с публикациями MakeUseOf, AddictiveTips и AppleToolBox. Он все тестирует, прежде чем написать об этом.
Была ли эта страница полезной?
Дайте нам знать, если вам удалось решить вашу техническую проблему, прочитав эту статью.
Мы рады это слышать!
Есть ли у вас предложение?
Мы знаем, насколько утомительным может быть поиск универсального решения.
Если у вас возникла ошибка, которая не присутствует в статье, или если вы знаете лучшее решение, пожалуйста, помогите нам улучшить это руководство.
Администрирование компьютеров Windows 10 и 11 с помощью PowerShell
С помощью PowerShell вы можете конфигурировать различные параметрами в пользовательских операционных системах (Windows 10 и 11):
Скрыть ненужные обновления Windows с помощью PowerShell
Вы можете скрыть определенные обновления, чтобы они никогда не устанавливались службой обновлений Windows Update на вашем компьютер (чаще всего скрывают обновления драйверов). Например, чтобы скрыть обновления KB2538243 и KB4524570, выполните такие команды:
$HideList = "KB2538243", "KB4524570"
Get-WindowsUpdate -KBArticleID $HideList -Hide
или используйте alias:
Hide-WindowsUpdate -KBArticleID $HideList -Verbose

Теперь при следующем сканировании обновлений с помощью команды Get-WindowsUpdate скрытые обновления не будут отображаться в списке доступных для установки.
Вывести список скрытых обновлений:
Обратите внимание, что в колонке Status у скрытых обновлений появился атрибут H (Hidden).

Отменить скрытие обновлений можно так:
Get-WindowsUpdate -KBArticleID $HideList -WithHidden -Hide:$false
Show-WindowsUpdate -KBArticleID $HideList
Управление 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
-
Import-CSV
,
Export-CSV
– чтение, экспорт данных в CSV файлы из скриптов PowerShell - Чтение и запись в Excel файл из PowerShell
Удаленное подключение, получение данных с помощью PowerShell
- Удаленные подключения PowerShell Remoting через SSH
- Управление компьютерами в рабочей группе из PowerShell
- Удаленное подключение PowerShell через HTTPS
- Командлет
Enter-PSSession
– создать интерактивную PowerShell сессию с удаленным компьютером - Получить имя пользователя на удаленном компьютере
- Командлет
Invoke-Command
– запуск команд и скриптов PowerShell на удаленных компьютерах - Проверка открытых/закрытых портов на удаленном хосте с помощью PowerShell
-
Invoke-WebRequest
– получить данные с веб страницы, скачать файл с помощью PowerShell -
Send-MailMessage
– PowerShell командет для отправки писем по протоколу SMTP
Установка модуля управления обновлениями PSWindowsUpdate
В современных версиях Windows 10/11 и Windows Server 2022/2019/2016 модуль PSWindowsUpdate можно установить из онлайн репозитория PowerShell Gallery с помощью команды:
Install-Module -Name PSWindowsUpdate
Подтвердите добавление репозитариев, нажав Y. Проверьте, что модуль управлениям обновлениями установлен в Windows:
Get-Package -Name PSWindowsUpdate

Можно удаленно установить PSWindowsUpdate на другие компьютеры в сети. Следующая команда скопирует файлы модуля на указанные компьютеры (для доступа к удаленным компьютерам используется WinRM).
$Targets = "srv1.winitpro.loc", "srv2.winitpro.loc"
Update-WUModule -ComputerName $Targets -local
Политика выполнения PowerShell скриптов в Windows по умолчанию блокирует запуск командлетов из сторонних модулей, в том числе PSWindowsUpdate. Чтобы разрешить запуск любых локальных скриптов, выполните команду:
Set-ExecutionPolicy –ExecutionPolicy RemoteSigned -force
Либо вы можете разрешить запускать команды модуля в текущей сессии PowerShell:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process
Импортируйте модуль в сессию PowerShell:
Выведите список доступных командлетов:
Get-command -module PSWindowsUpdate

Проверить текущие настройки клиента Windows Update:
ComputerName : WKS22122 WUServer : http://MS-WSUS:8530 WUStatusServer : http://MS-WSUS:8530 AcceptTrustedPublisherCerts : 1 ElevateNonAdmins : 1 DoNotConnectToWindowsUpdateInternetLocations : 1 TargetGroupEnabled : 1 TargetGroup : WorkstationsProd NoAutoUpdate : 0 AUOptions : 3 - Notify before installation ScheduledInstallDay : 0 - Every Day ScheduledInstallTime : 3 UseWUServer : 1 AutoInstallMinorUpdates : 0 AlwaysAutoRebootAtScheduledTime : 0 DetectionFrequencyEnabled : 1 DetectionFrequency : 4
В данном примере клиент Windows Update на компьютере настроен с помощью GPO на получение обновлений с локального сервера обновлений WSUS.
Использование PowerShell для администрирования Active Directory
Для администрирования леса/домена Active Directory используется модуль RSAT-AD-PowerShell:
Сканировать и загрузить обновления Windows с помощью PowerShell
Чтобы просканировать компьютер на сервере обновлений и вывести список обновлений, которые ему требуется, выполните команду:
Команда должна вывести список обновлений, которые нужно установить на вашем компьютере.

Команда Get-WindowsUpdate при первом запуске может вернуть ошибку:
Value does not fall within the expected range.


Чтобы проверить, откуда получает ли Windows обновлений с серверов Windows Update в Интернете или локального WSUS, выполните команду:

В этом примере вы видите, компьютер настроен на получение обновлений с локального сервера WSUS (Windows Server Update Service = True). В этом случае вы должны увидеть список обновлений, одобренных для вашего компьютера на WSUS.
Если вы хотите просканировать ваш компьютер на серверах Microsoft Update в Интернете (кроме обновлений Windows на этих серверах содержатся обновления Office и других продуктов), выполните команду:
Вы получаете предупреждение:
Get-WUlist : Service Windows Update was not found on computer
Чтобы разрешить сканирование на Microsoft Update, выполните команду:
Чтобы убрать определенные продукты или конкретные KB из списка обновлений, которые получает ваш компьютер, вы их можете исключить по:
- Категории (-NotCategory);
- Названию (-NotTitle);
- Номеру обновления (-NotKBArticleID).
Например, чтобы исключить из списка обновления драйверов, OneDrive, и одну конкретную KB:
Get-WUlist -NotCategory "Drivers" -NotTitle OneDrive -NotKBArticleID KB4533002
Get-WindowsUpdate -Download -AcceptAll
Windows загрузит все доступные патчи сервера обновлений (MSU и CAB файлы) в локальный каталог обновлений, но не запустит их автоматическую установку.

Установка обновлений Windows с помощью команды Install-WindowsUpdate
Install-WindowsUpdate -MicrosoftUpdate -AcceptAll -AutoReboot
Ключ AcceptAll включает одобрение установки для всех пакетов, а AutoReboot разрешает автоматическую перезагрузку Windows после завершения установки обновлений.
Также можно использовать следующе параметры:
- IgnoreReboot – запретить автоматическую перезагрузку;
- ScheduleReboot – задать точное время перезагрузки компьютера.
Можете сохранить историю установки обновлений в лог файл (можно использовать вместо WindowsUpdate.log).
Можно установить только конкретные обновления по номерам KB:
Get-WindowsUpdate -KBArticleID KB2267602, KB4533002 -Install

Если вы хотите пропустить некоторые обновления при установке, выполните:
Install-WindowsUpdate -NotCategory "Drivers" -NotTitle OneDrive -NotKBArticleID KB4011670 -AcceptAll -IgnoreReboot
Проверить, нужна ли перезагрузка компьютеру после установки обновления (атрибуты RebootRequired и RebootScheduled):

Использование 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
Практически все командлеты модуля PSWindowsUpdate позволяют управлять обновлеями на удаленных компьютерах. Для этого используется атрибут
-Computername Host1, Host2, Host3
. На удаленных компьютерах должен быть включен и настроен WinRM (вручную или через GPO). Модуль PSWindowsUpdate можно использовать для удаленного управлений обновлениями Windows как на компьютерах в домене AD, так и в рабочей группе (потребует определенной настройки PowerShell Remoting).
Для удаленного управления обновлениями компьютерах, нужно добавить имена компьютеров доверенных хостов winrm, или настроить удаленное управление PSRemoting через WinRM HTTPS:
Или с помощью PowerShell:
Set-Item wsman:\localhost\client\TrustedHosts -Value wsk-w10BO1 -Force
С помощью Invoke-Command можно разрешить использовать модуль PSWindowsUpdate на удаленных компьютерах и открыть необходимые порты в Windows Defender Firewall (команда
Enable-WURemoting
):
Проверить список доступных обновлений на удаленном компьютере:
Get-WUList –ComputerName server2
Командлет Invoke-WUJob (ранее командлет назывался Invoke-WUInstall) создаст на удаленном компьютере задание планировщика, запускаемое от SYSTEM. Можно указать точное время для установки обновлений Windows:
Проверить статус задания установки обновлений:
Get-WUJob -ComputerName $ServerNames
Если команда вернет пустой список, значит задача установки на всех компьютерах выполнена.
Проверьте наличие обновления на нескольких удаленных компьютерах:
Получить дату последней установки обновлений на всех компьютерах в домене можно с помощью командлета Get-ADComputer из модуля AD PowerShell:
PowerShell модуль PSWindowsUpdate удобно использовать для загрузки и установки обновлений Windows из командной строки (единственный доступны вариант в случае установки обновлений на хосты без графического интерфейса: Windows Server Core и Hyper-V Server). Также этот модуль незаменим, когда нужно одновременно запустить и проконтролировать установку обновлений сразу на множестве серверов/рабочих станциях Windows.
Автоматизация 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

Удаление обновлений в Windows с помощью PowerShell
Для корректного удаления обновления Windows используется командлет Remove-WindowsUpdate. Вам достаточно указать номер KB в качестве аргумента параметра KBArticleID.
Remove-WindowsUpdate -KBArticleID KB4011634
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
>Просмотр истории установленных обновлений в Windows
С помощью команды Get-WUHistory вы можете получить список обновлений, установленных на компьютере ранее автоматически или вручную.

Можно получить информацию о дате установки конкретного обновления:

Вывести даты последнего сканирования и установки обновлении на компьютере:






