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

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

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

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

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

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

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

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

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

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

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

Запуск PowerShell скрипта по расписанию из планировщика задач Windows

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

Просмотр истории установки и удаления программ в Windows

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

Как подключить сетевой диск (папку) в Windows

Windows позволяет подключить любую общую сетевую папку с файлового сервера или NAS хранилища в виде отдельного диска с назначенной ему буквой диска. Такие подключенные сетевые папки называются сетевыми дисками. Сетевые диски удобно использовать для удобства доступа пользователей к часто используемым общим...

Показать день недели в часах на панели задач Windows 10 и 11


Как узнать общее время работы (uptime) Windows?


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

В десктопных редакциях Windows есть ограничение на максимальное количество одновременных сетевых подключений с других компьютеров. Так, например Window 10 и 11 (независимо от редакции) поддерживают только 20 одновременных сессий. Если компьютер с Windows 10/11 используется в качестве файлового сервера, или сервера...

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

Для автоматизации различных действий в браузере из скриптов PowerShell можно использовать фреймворк Selenium. С помощью Selenium вы можете получить содержимое веб страницы так, как его видит пользователь (отрабатываются все скрипты Java, стили, куки) Чаще всего Selenium используется для тестирования веб-сайтов с...