# PowerShell. Автоматизация настроек PowerShell - это интерпретируемый язык командной строки и сценариев, разработанный компанией Microsoft. PowerShell обеспечивает мощный интерфейс командной строки для управления операционной системой Windows и приложениями, а также для автоматизации административных задач.
Объединение интерфейса командной строки и сценариев: PowerShell предоставляет командлеты (cmdlets), которые могут использоваться для выполнения различных задач, а также язык сценариев для создания более сложных скриптов.
Объектно-ориентированный подход: PowerShell работает с объектами, что делает его более гибким и мощным инструментом для автоматизации задач, чем традиционные командные интерфейсы.
Использование .NET Framework: PowerShell имеет доступ к .NET Framework, что позволяет использовать .NET классы и библиотеки в сценариях, расширяя таким образом возможности автоматизации.
Широкие возможности автоматизации: 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:
1.Windows PowerShell до версии 1 — встроенная в Windows классическая версия PowerShell, основанная на .NET Framework. На данный момент PowerShell 5.1 не развивается Microsoft. 2.PowerShell Core x, 7.x — актуальная кроссплатформенная версия PowerShell, основанная на .NET Core. Активно развивается. Эту версию PowerShell нужно устанавливать и обновлять отдельно. Возможна установка на PowerShell Core на Linux.
PowerShell позволяет системным администраторам автоматизировать и управлять различными компонентам дестопных версий Windows, ролями Windows Server, и другими компонентами инфраструктуры Microsoft и сторонними продуктами.
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
С помощью PowerShell вы можете конфигурировать различные параметрами в пользовательских операционных системах (Windows 10 и 11):
Сетевые настройки: задать IP адрес и другие сетевые параметры с помощью PowerShell; сбросить сетевые настройки Windows; вывести сохраненные пароли Wi-Fi сетей; Windows Defender Firewall – включить/отключить брандмауер; создать, удалить правило файервола Управление Windows Update – модуль PSWindowsUpdate для установки обновлений в Windows Управление локальными пользователями Windows с помощью PowerShell Управление принтерами – создать принтер, установить драйвер из PowerShell; удалить принтер, получить логи печати Управление дисками и разделами с помощью PowerShell; расширить раздел в Windows Установка языковых пакетов Windows Удаление драйверов в Windows Работает с логами Event Viewer: обработка логов Event Viewer с помощью PowerShell; аудит событий входа пользователей в Windows; история запуска программ на компьютере; анализ логов RDP; очистка логов Windows Установка приложений через winget и удаление программ в Windows с помощью PowerShell Microsoft Defender (Защитник Windows) – управление встроенным антивирусом с помощью PowerShell; как отключить Защитник Windows Управление VPN подключениями из PowerShell Установка WSL 2 в Windows, перенос VHDX диска WSL на другой диск; Установить новые шрифты с помощью PowerShell, восстановить стандартные шрифты в Windows Управление службами Windows через PowerShell -Получить и изменить настройки BIOS/UEFI компьютера из PowerShell -PowerShell: управление NTFS разрешениями объектов файловой системы -Отправить письмо через Outlook с помощью скрипта PowerShell -Создать, удалить, изменить параметр реестра из PowerShell -Проверить статус активации Windows -Игнорировать обновления и драйвера в образ Windows -Использование PowerShell для администрирования Active Directory
Контроллеры домена – установить новый DC в AD (установка роли ADDC на Server Core); удалить контроллер домена; проверить состояние контроллеров домена и репликации;
-New-ADUser – создать пользователя в Active Directory -Get-ADUser – получить информацию о пользователях домена AD -Set-ADUser – изменить атрибуты пользователя в AD -Set-ADAccountPassword – изменить/сбросить пароль пользователя в домене -New-ADOrganizationalUnit – создать Organizational Unit в AD -Unlock-ADAccount – разблокировать пользователя в AD -Get-ADComputer – получить информацию о компьютерах Active Directory -Set-ADComputer – изменить свойства компьютера в Active Directory -Search-ADAccount – поиск неактивных пользователей и компьютеров в AD -Restore-ADObject — восстановить удаленные объекты AD -Управление группами Active Directory с помощью PowerShell -Найти с какого компьютера блокируется учетная запись в домене -Логи (историй) входа пользователей в домен -Получить список локальных администраторов на компьютерах в домене -Получить список версий Windows в Active Directory -Сбросить пароль администратора домена -Управление групповыми политиками в Active Directory возможно с помощью PowerShell модуля GroupPolicy -Работа с файлами в PowerShell I -mport-CSV , Export-CSV – чтение, экспорт данных в CSV файлы из скриптов PowerShell -Чтение и запись в Excel файл из PowerShell -Управление Exchange с помощью PowerShell -Командлеты PowerShell это важный инструмент администрирования и автоматизации on-premises Exchange Server и Exchange Online (Microsoft 365). -Для подключения к Exchange Online нужно установить модуль EXO. К Exchange Server можно подключиться удаленно с любого компьютера и импортировать командлеты PowerShell для Exchange в свою сессию.