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

Про отключение (включение) протокола IPv6 в Windows

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

PowerShell: найти компьютеры ожидающие перезагрузки

При установке некоторых патчей или обновлений безопасности, для их применения требуется перезагрузка Windows. Однако, если пользователь постоянно откладывает перезагрузку или вы отключили автоматическую перезагрузку на серверах/рабочих станциях после установки обновления (например, через групповую политику Windows Update), в могут остаться хосты, которые...

Управление модулями PowerShell в Windows

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

Автозапуск мобильного хотспота (Wi-Fi точки доступа) в Windows

Многие пользователи используют свои ноутбуки с Windows в качестве виртуальной Wi-Fi точки доступа, раздающий Интернет другим устройствам. Главная проблема – такая программная точка доступа на Windows не включается автоматически после выключения или перезагрузки компьютера. В этой статье мы рассмотрим, как настроить...

Экспорт (миграция) драйверов принтеров в Windows

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

Закрепить/открепить ярлык в панели задач Windows 11 с помощью PowerShell

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

Где хранятся сертификаты в Windows?

Для управления сертификатами в Windows обычно используются графические MMC оснастки certlm.msc (сертификаты компьютера/ Local Machine), certmgr.msc (сертификаты пользователя / Current User), утилита командной строки certutil. Все эти инструменты используются для взаимодействия с логическим хранилищем сертификатов, которое скрывает от пользователя фактическое расположение...

Кто создал папку (файл) в Windows?

В статье мы покажем, как узнать имя пользователя, создавшего папку или файл в локальной папке или в общей сетевой шаре. Можно определились пользователя, который создал файл/папку, по владельцу объекта или через события аудита файловой системы....

Отключаем использование PowerShell для пользователей

От отдела безопасности поступила задача запретить использование PowerShell на некоторых компьютерах. Необходимо запретить пользователям запускать интерактивную PowerShell консоль, выполнять PowerShell скрипты, но при этом логон скрипты GPO, задания планировщика с PowerShell скриптами (запускаемые от SYSTEM) должны работать. В статье мы рассмотрим...

Как удалить модули PowerShell в Windows?

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

Запуск команды (программы) из PowerShell

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

Рандомизация MAC адреса для Wi-Fi подключений в Windows

В Windows 10 и 11 доступна функция «случайный MAC адрес» для рандомизации аппаратного (MAC адреса) сетевой карты, используемого для подключения к Wi-Fi сетям. Основный задачи этой функции – повышение конфиденциальности и анонимности пользователя, сокращение возможностей отслеживания устройства и сбора данных о...