Использование 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 и сторонними продуктами.

Команды и скрипты PowerShell для системного администратора

PowerShell в администрировании ролей Windows Server

PowerShell – это отличное средство автоматизации настройки и управления платформой Windows Server. Практически все действия, которые вы выполняете с помощью графических оснасток можно сделать с помощью PowerShell. PowerShell значительно упрощает одновременное администрирование десятков и сотен серверов с Windows Server 2022/2019/2016/2012R2.

Администрирование компьютеров Windows 10 и 11 с помощью PowerShell

С помощью PowerShell вы можете конфигурировать различные параметрами в пользовательских операционных системах (Windows 10 и 11):

Использование PowerShell для администрирования Active Directory

Для администрирования леса/домена Active Directory используется модуль RSAT-AD-PowerShell:

Работа с файлами в PowerShell

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

Командлеты PowerShell это важный инструмент администрирования и автоматизации on-premises Exchange Server и Exchange Online (Microsoft 365). Для подключения к Exchange Online нужно установить модуль EXO. К Exchange Server можно подключиться удаленно с любого компьютера и импортировать командлеты PowerShell для Exchange в свою сессию.

Администрирование Teams из PowerShell

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

Удаленное подключение, получение данных с помощью PowerShell:

Администрирование продуктов VMware из PowerShell

Автоматизация PowerShell в сторонних продуктах

Монтирование сетевого диска по SSH (SSHFS) в Windows

Для подключения файловой системы удаленного сервера в качестве сетевого диска в Windows можно использовать защищенный протокол SSH (вместо стандартного SMB/samba). Это удобно, когда нужно сделать файлы на удаленном SSH сервере доступными для локальной работы без использования дополнительных FTP/SFTP подключений. Для монтирования...

Включить рекомендованные настройка безопасности Windows Server 2025 с помощью OSConfig

OSConfig это новая функция, доступная в Windows Server 2025, позволяющая быстро применить настройки безопасности операционной системы, рекомендованные Microsoft. В дальнейшем OSconfig будет автоматически исправлять любые изменения, внесенные в настройки безопасности, которые не соответствуют назначенной конфигурации (baseline). В преднастроенных бейзлайнах OSConfig заданы...

Разрешить/запретить ответ на Ping (ICMP) в Windows Firewall

Встроенный брандмауэр Windows в целях безопасности по умолчанию блокирует входящий ICMP трафик как в десктопных Windows 10/11, так и в Windows Server. Это означает, что вы не сможете удаленно проверить доступность компьютера с помощью стандартной команды ping, т.к. она будет отвечать...

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

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

Удаляем обновления в Windows с помощью PowerShell

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

Скрыть (заблокировать) определенное обновление в Windows

Иногда после установки очередного обновления Windows вы можете столкнуться с тем, что операционная система, программа или какой-то драйвер перестают работать или вызывают конфликты. В этом случае нужно удалить проблемное обновление и включить запрет на его повторную установку. В этой статье мы...

Отложить (приостановить) установку обновлений в Windows 10/11

В современных билдах Windows 10 и 11 можно отложить установку обновлений на максимально возможный срок 35 дней (или 7 дней на сборках Windows Insider). Этого времени обычно достаточно, если первоначальная установка обновления вызвала проблему, вы удалили обновление и ждете, когда инженеры...

Как включить логирование и анализировать логи Windows Firewall?

Если вы подозреваете, что встроенный Windows Defender Firewall блокирует некоторые сетевые подключений (от определенной программы или сервиса), плохим решением будет его полное отключение. Вместо этого вы можете включить логирование сетевого трафика, проходящего через брандмауэр, определить заблокированные используемые порты и/или IP адреса...

Продлить срок действия пароля пользователя в AD

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

Не печатаются заглавные буквы в консоли Windows (PowerShell)

Несколько раз сталкивался со странной проблемой, когда в консоли PowerShell (или Терминале Windows) при наборе текста не вводятся заглавные буквы. Набираете ли вы текст с клавиатуры, или вставляете командлет PowerShell из буфера – все буквы в верхнем регистре теряются (обрезаются)....

Проверка контрольной (хеш) суммы файла в Windows

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

Отправка сообщений в WhatsApp из командной строки

Для отправки сообщений в мессенджер WhatApp из командной строки можно воспользоваться консольным клиентом Mudslide. Чаще всего такая необходимость возникает, когда вам нужно получить оповещение от скрипта или системы мониторинга....