# PowerShell. Автоматизация настроек **PowerShell** - это интерпретируемый язык командной строки и сценариев, разработанный компанией Microsoft. PowerShell обеспечивает мощный интерфейс командной строки для управления операционной системой Windows и приложениями, а также для автоматизации административных задач. # Основные особенности PowerShell: 1. Объединение интерфейса командной строки и сценариев: PowerShell предоставляет командлеты (cmdlets), которые могут использоваться для выполнения различных задач, а также язык сценариев для создания более сложных скриптов. 2. Объектно-ориентированный подход: PowerShell работает с объектами, что делает его более гибким и мощным инструментом для автоматизации задач, чем традиционные командные интерфейсы. 3. Использование .NET Framework: PowerShell имеет доступ к .NET Framework, что позволяет использовать .NET классы и библиотеки в сценариях, расширяя таким образом возможности автоматизации. 4. Широкие возможности автоматизации: 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 для системного администратора 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 # Администрирование компьютеров Windows 10 и 11 с помощью PowerShell С помощью 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 # Для администрирования леса/домена Active Directory используется модуль RSAT-AD-PowerShell: **Контроллеры домена** – установить новый 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 в свою сессию. # Список использованной литературы https://winitpro.ru/index.php/category/powershell/