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

Store CLI: интерфейс командной строки для Microsoft Store в Windows 11

Microsoft недавно выпустила для Windows новый инструмент Store CLI, представляющий собой интерфейс командной строки для взаимодействия с магазином приложений Microsoft Store. Store CLI представляет собой консольную альтернативу графическому интерфейсу Microsoft Store в Windows. С помощью Store CLI пользователь может выполнять поиск,...

Отслеживание изменений файлов в папке с помощью PowerShell

В сценариях, когда вам нужно отслеживать изменения в определенной папке и выполнять какое-то автоматические действие при обнаружении изменений в файле/директории (отправить уведомление, логировать событие в текстовый файл или журнал событий, запускать скрипт обработки и т.д.) вместо использования классического аудита событий доступа...

Очистка корзины у всех пользователей Windows

На общих компьютерах Windows, за которыми работают несколько пользователей (включая терминальные RDS сервера), размер удаленных элементов в корзине на диске может занимать значительно место. Если пользователи не очищают свои корзины самостоятельно, со временем их размер в папке $Recycle.Bin может занять существенную...

PowerShell: просмотр лог-файлов в реальном времени

В Windows логи некоторых приложений/сервисов хранятся не виде бинарных логов Event Viewer (*.evtx), а в виде простых текстовых лог файлов. При диагностике или решении проблемы иногда удобно, чтобы содержимое лог файла выводилось на экран в реальном времени и обновлялось по мере...

Как корректно отключить протокол 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?

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