Управление ролями и компонентами Windows Server из PowerShell
13.10.2022
itpro
PowerShell, Windows Server 2012 R2, Windows Server 2016, Windows Server 2019
Комментариев пока нет
В Windows Server 2012R2/2016/2019 вы можете устанавливать и удалять различные роли и компоненты сервера через графический Server Manager. Однако в большинстве случаев эти же самые операции можно выполнить гораздо быстрее из консоли PowerShell. В этой статье мы рассмотрим особенности управления ролями и компонентами в актуальных версиях Windows Server.
Как вывести все установленные роли и компоненты Windows Server?
Чтобы вывести список всех доступных ролей и компонентов Windows Server используется командлет Get-WindowsFeature . Если выполнить его без параметров, появится информация обо всех компонентах.
Как вы видите, отображается название компонента (Display Name), его системное имя (Name) и состояние (Install State: Installed, Available или Removed). Список ролей и компонентов представляет собой дерево со вложенными ролями, которое напоминает то, которые вы видите при установке ролей через графический Server Manager. Для установки и удаления ролей и компонентов через PowerShell, вам нужно знать их системное имя, которое содержится в столбце Name.
Роли и компоненты удаляются из образа так:
Uninstall-WindowsFeature –Name DHCP –Remove
Чтобы установить удаленную роль, воспользуйтесь командлетом:
Install-WindowsFeature DHCP (понадобится доступ в Интернет)
Либо вы можете восстановить компоненты их дистрибутива с вашей версией Windows Server. Данная команда установит роль DHCP сервера.
Install-WindowsFeature DHCP -Source E:\sources\sxs
Вы можете вывести список установленных компонентов сервера:
Get-WindowsFeature | Where-Object <$_. installstate -eq "installed">| ft Name,Installstate
Судя по скриншоту, данный сервер используется как файловый сервер (роли FileAndStorage-Services, Storage-Services). Большинство оставшихся компонентов используются для управления и мониторинга сервера.
Если вы не знаете точно имя роли, можно использовать знаки подстановки. Например, чтобы проверить какие из web компонентов роли IIS установлены, выполните (немного сократим синтаксис):
Get-WindowsFeature -Name web-* | Where installed
Вы можете получить список установленных компонентов на удаленном Windows Server:
Get-WindowsFeature -ComputerName msk-prnt1 | Where installed | ft Name,Installstate
Судя по установленным ролям Print-Services и Print-Server, этот сервер используется в качестве сервера печати.
Вы можете использовать командлет Get-WindowsFeature для поиска серверов в домене, на которых установлена определенная роль. Вы можете искать на серверах в определенном OU Active Directory с помощью командлета Get-ADComputer из модуля ActiveDirectory for PowerShell, или по указанному списку серверов ( $servers = (‘server1’, ‘server2’) ). Например, нам нужно найти все файловые сервера c ролью FileAndStorage-Services в указанном контейнере AD (я использую редактор PS — Visual Studio Code)
import-module activedirectory
$Servers=get-adcomputer -properties * -Filter
Foreach ($server in $Servers)
<
Get-WindowsFeature -name FileAndStorage-Services -ComputerName $server.Name | Where installed | ft $server.name, Name, Installstate
>
В результате у нас появился список серверов, на которых установлена данная роль.
Установка ролей и компонентов Windows Server из PowerShell
Для установки ролей и компонентов в Windows Server используется командлет Install-WindowsFeature.
Чтобы установить роль DNS на текущем сервере и инструменты управления (в том числе модуль Powershell – DNSServer), выполните:
Install-WindowsFeature DNS -IncludeManagementTools
По-умолчанию командлет устаналивает все необходимые зависимые роли и компоненты при установке роли. Чтобы вывести список зависимостей до установки воспользуйтесь параметров.
Install-WindowsFeature -name UpdateServices -whatif
Например, для установки роли сервера обновлений WSUS, необходимо установить некоторые компоненты IIS.
What if: Continue with installation?
What if: Performing installation for «[Windows Server Update Services] Windows Server Update
What if: Performing installation for «[Windows Server Update Services] WID Database».
What if: Performing installation for «[Windows Server Update Services] WSUS Services».
What if: Performing installation for «[Web Server (IIS)] Windows Authentication».
What if: Performing installation for «[Web Server (IIS)] Dynamic Content Compression».
What if: Performing installation for «[Web Server (IIS)] Performance».
What if: Performing installation for «[Web Server (IIS)] Static Content».
What if: Performing installation for «[Windows Internal Database] Windows Internal Database».
What if: The target server may need to be restarted after the installation completes.
Чтобы установить роль Remote Desktop Session Host, службу лицензирования RDS и утилиты управления RDS на удаленном сервере, воспользуйтесь командой:
Install-WindowsFeature -ComputerName msk-rds21 RDS-RD-Server, RDS-Licensing –IncludeAllSubFeature –IncludeManagementTools –Restart
C параметром –Restart сервер будет автоматически перезагружен, если установленный компонент это потребует.
Также можно установить компонент такой командой (например роль SMTP сервера):
Get-WindowsFeature -Name SMTP-Server | Install-WindowsFeature
Деплой ролей на множество серверов Windows Server
Еще одна интересная возможность при развертывании однотипных серверов. Вы можете установить необходимые компоненты на эталонном Windows Server и экспортируете список установленных ролей в CSV файл:
Get-WindowsFeature | where <$_.Installed -eq $True>| select name | Export-Csv C:\ps\Roles.csv -NoTypeInformation –Verbose
Потом вы можете использовать этот CSV файл для установки такого же набора ролей на других типовых серверах:
Если роль или компонент уже установлен, команда вернет NoChangeNeeded и продолжит установку следующей роли.
Либо для установки одинакового набора ролей сразу на нескольких серверах можно использовать такую команду:
$servers = (‘srv1’, ‘srv2’,’srv3’)
foreach ($server in $servers)
Как удалить роль или компонент в Windows Server с помощью PowerShell?
Для удаления ролей и компонентов Windows Server используется командлет Remove-WindowsFeature .
Например, чтобы удалить роль принт-сервера, выполните команду:
Remove-WindowsFeature Print-Server -Restart
Предыдущая статья Следующая статья
Установка терминального сервера Windows Server 2019
В данной инструкции у нас уже установлена операционная система Windows Server 2019 на виртуальной машине.
Минимальные требования:
- 64-разрядный процессор с тактовой частотой 1,4 ГГц;
- ОЗУ 512 МБ (2 ГБ для варианта установки «Сервер с рабочим столом»);
- диск 32 ГБ;
- доступ к интернету.
Для того чтобы подключить сертификат с помощью Let’s Encrypt требуется прямые пробросы портов TCP 443, 80 до машины, а также доменное имя, на которое будет вешаться сертификат. Активация Windows Server 2019 проходит тоже на этом этапе.
Установка ролей на Windows Server 2019
После подготовки Windows Server 2019, мы приступаем к установке ролей для настройки терминального сервера и шлюза удаленных рабочих столов.
Заходим в Диспетчер серверов — Управление — Добавить роли и компоненты.
Открывается “Мастер добавления ролей и компонентов”:
Рисунок 1 — Мастер добавления ролей и компонентов
Добавление ролей на сервере:
- Тип установки — Установка ролей или компонентов.
- Выбор сервера — Выбираем наш текущий сервер.
- Роли сервера — Службы удаленных рабочих столов.
- Службы ролей — Лицензирование удаленных рабочих столов, шлюз удаленных.
Подтверждаем установку компонентов и проводим установку. После установки всех нужных нам ролей — перезагружаем сервер.
Настройка сервера лицензирования
Заходим в Диспетчер серверов — Средства — Remote Desktop Services — Диспетчер лицензирования удаленных рабочих столов.
В диспетчере нажимаем ПКМ на наш сервер и выбираем “Активировать сервер”.
Попадаем в “Мастер активации сервера”, вводим свои данные и нажимаем “Далее”.
Рисунок 2 — Мастер активации сервера
В следующем пункте вводим “Сведения об организации” и нажимаем “Далее”.
Завершение работы мастера активации сервера выполняется с поставленной галочкой “Запустить мастер установки лицензий” чтобы попасть в оснастку установки лицензий.
Рисунок 3 — Завершение работы мастера активации сервера
В мастере установки лицензий мы видим параметры сервера лицензирования и нажимаем “Далее”.
В следующем окне мы выбираем лицензию в зависимости от приобретенной вами лицензии.
Имеется несколько типов лицензии:
- Пакет лицензий (в розницу).
- Соглашение “Open License”.
- Соглашение “Select License”.
- Соглашение “Enterprise Agreement”.
- Соглашение “Campus Agreement”.
- Соглашение “School Agreement”.
- Лицензионное соглашение постановщика услуг.
- Другое соглашение.
- Лицензия Select Plus.
В нашем случае мы выбираем “Соглашение “Enterprise Agreement”” и нажимаем “Далее”.
- Версию продукта ставим “Windows Server 2019”.
- Тип лицензии “Клиентская лицензия служб удаленных рабочих столов “на устройство”.
- Количество в зависимости от приобретенной вами. В нашем случае мы активируем на 10 устройств.
Завершаем работу мастера установки лицензий.
Для завершение установки лицензий осталось выполнить пункт по добавление групповых политик, для этого нажимаем ПКМ по меню “Пуск” и выбираем “Выполнить”.
В окне “Выполнить” вводим gpedit.msc и нажимаем “ОК”.
Попадаем в “Редактор локальной групповой политики” В данной настройке требуется править две записи. Для того чтобы указать сервер лицензирования мы переходим в пункт:
Конфигурация компьютера — Административные шаблоны — Компоненты Windows — Служба удаленных рабочих столов — Узел сеансов удаленных рабочих столов — Лицензирование — Использовать указанные серверы лицензирования удаленных рабочих столов.
Включаем данную политику и вводим требуемый сервер лицензирования. В нашем случае мы будем ссылаться на свой локальный сервер “localhost” и применяем настройку.
Рисунок 4 — Использование серверов лицензирования
Для второго пункта мы переходи по следующему пути:
Конфигурация компьютера — Административные шаблоны — Компоненты Windows — Служба удаленных рабочих столов — Узел сеансов удаленных рабочих столов — Лицензирование — Задать режим лицензирования удаленных рабочих столов.
Включаем политику и указываем режим лицензирования, в нашем случае мы активируем “на устройство” и применяем настройку.
Рисунок 5 — Задаем режим лицензирования
Настройка по установки лицензий прошла успешно, далее мы настраиваем шлюз удаленных рабочих столов.
Настройка шлюза удаленных рабочих столов
Шлюз удаленных рабочих столов является сервисом посредником между клиентами из внешней сети и сеансов внутренней сети, обеспечивает безопасный обмен данными между ними.
Заходим в Диспетчер серверов — Средства — Remote Desktop Services — Диспетчер шлюза удаленных рабочих столов.
Нажимаем ПКМ по папке “Политики” и выбираем “Создание новых политик авторизации”.
Мы попадаем в “Мастер создания новых политик авторизации”.
Рисунок 6 — Создание политик авторизации для шлюза удаленных рабочих столов
По пунктам выбираем следующее:
- Политики авторизации — Создать политику авторизации подключений к удаленным рабочим столам и авторизации ресурсов удаленных рабочих столов.
- Политика авторизации подключений — пишем наименование политики (в нашем случае Users).
- Требования — выбираем членство в группе для пользователей или компьютеров, которые смогут подключаться к серверу (в нашем случае, мы добавили группу пользователей “Пользователи удаленного рабочего стола” и “Администраторы”).
- Перенаправление устройств — выбираем, что требуется перенаправить (мы выбрали “Включить перенаправление устройств для всех клиентских устройств”).
- Время ожидания сеанса — по умолчанию.
- Сводка по политике авторизации подключений к RD — параметры которые будут созданы в данной политике.
- Политика авторизации ресурсов — пишем наименование политики (в нашем случае TS).
- Группы пользователей — выбираем членство в группе для пользователей или компьютеров, которые смогут подключаться к серверу (в нашем случае, мы добавили группу пользователей “Пользователи удаленного рабочего стола” и “Администраторы”).
- Сетевой ресурс — можем настроить группу терминальных серверов, куда можно подключиться, выберем “Разрешить подключение пользователей к любому ресурсу (компьютеру)”.
- Разрешенные порты — если настроен нестандартный порт, то в этом пункте можно это указать, выбираем “Разрешить подключение только к порту 3389”.
- Сводка по политике авторизации ресурсов RD — параметры которые будут созданы в данной политике.
На данном этапе мы завершили настройку шлюза удаленных рабочих столов, за исключением установки сертификата.
Рисунок 7 — Оснастка диспетчера шлюза удаленных рабочих столов без сертификата
Для того, чтобы установить сертификат на шлюз удаленных рабочих столов, мы воспользуемся утилитой win-acme.
Установка сертификата на шлюз удаленных рабочих столов через Let’s Encrypt
Скачиваем программу по ссылке:
Копируем в папку C:\Scripts\win-acme
Создаем 3 bat-файла:
- Файл «C:\Scripts\win-acme\Register.bat»
- Файл «C:\Scripts\win-acme\Scripts\PSScript.bat» Листинг:
- После этого запускаем «C:\Scripts\win-acme\Register.bat».
- Вводим домен на котором находится наш шлюз удаленных рабочих столов.
- Если всё получилось, то в оснастке шлюза удаленных рабочих столов должен появится созданный сертификат, а в консоли — готовый результат.
- Элемент маркированного списка
Рисунок 8 — Сертификат успешно установлен
Подключение пользователей
Следующем этапом мы создаем пользователей для подключение к удаленному рабочему столу через шлюз удаленных рабочих столов.
- В окне “Выполнить” вводим команду “control userpasswords2”.
- Нажимаем “Дополнительно”.
- Выбираем папку “Пользователи” переходим в “Дополнительные действия” и нажимаем “Новый пользователь”.
- Вводим требуемые поля.
Рисунок 9 — Добавление нового пользователя
Создаем нового пользователя и добавляем его в группу “Пользователи удаленного рабочего стола”, для этого заходим в Панель управления — Система — Настройка удаленного рабочего стола — Выбрать пользователей — Добавить.
Добавляем созданных пользователей, после чего подключаемся к серверу.
Подключение к серверу терминалов
На машине, с которой будем подключаться к серверу, ищем утилиту “Подключение к удаленному рабочему столу” на Windows 10 она находится по следующему расположению: Пуск — Стандартные — Windows — Подключение к удаленному рабочему столу.
В открытом окне вводим имя нашего сервера или локальный ip-адрес. В нашему случае имя сервера “EFSOL-TS” Пользователя указываем, которого создали (EFSOL-TS\efsol_it).
Далее, чтобы указать адрес шлюза удаленных рабочих столов, переходим во вкладку “Дополнительно” нажимаем “Параметры” вводим в окне Имя сервера наше доменное — “gorbach.esit.info”.
Рисунок 10 — Подключение к шлюзу удаленных рабочих столов
Нажимаем “ОК” и “Подключить”.
При подключении к удаленному рабочему столу — может появится сообщение о сертификате, мы на него соглашаемся.
Установка терминального сервера произведена и шлюз удаленных рабочих столов успешно настроен.
Как удалить роль сервера 2019
всем доброго времени суток.
возникло у меня тут пара вопросов по wsus:
1. правда ли что их не рекомендуют устанваливать вместе с контроллером домена? вроде сервер достаточно шустрый, хотя и 10 лет ему уже. сервер 2019 тянет замечательно, лучше чем 2008
2. если оно таки правда, как его можно корректно удалить? какие компоненты выбирать при удалении?
Все ответы
всем доброго времени суток.
возникло у меня тут пара вопросов по wsus:
1. правда ли что их не рекомендуют устанваливать вместе с контроллером домена? вроде сервер достаточно шустрый, хотя и 10 лет ему уже. сервер 2019 тянет замечательно, лучше чем 2008
2. если оно таки правда, как его можно корректно удалить? какие компоненты выбирать при удалении?
Не стоит с какими либо ролями совмещать роль dc.
Удалить можно так:
Установить можно так:
Я не волшебник, только учусь. MCTS, CCNA. Если вам помог чей-либо ответ, пожалуйста, не забывайте нажать на кнопку "отметить как ответ" или проголосовать за "полезное сообщение". Disclaimer: Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции работодателя. Вся информация предоставляется как есть, без каких-либо на то гарантий. Блог IT Инженера, Яндекс Дзен, YouTube, GitHub, Facebook, TechNet Forum Team.
- Изменено Alexander Rusinov Moderator 20 июня 2021 г. 19:39 Дополнил
- Предложено в качестве ответа Alexander Rusinov Moderator 21 июня 2021 г. 19:54
Спасибо за сообщение на нашем форуме!
1) Причина, по которой мы обычно не предлагаем нашим клиентам устанавливать WSUS и контроллер домена полностью, заключается в том, что WSUS очень требователен к системным ресурсам и может повлиять на производительность AD. База данных WSUS также может вырасти до очень больших размеров в зависимости от вашей среды / конфигурации, поэтому вам нужно будет подумать, готовы ли вы рисковать, что на вашем контроллере домена закончится дисковое пространство и он перестанет отвечать. Однако, если вы все равно это сделаете, это может сработать, вот статья, в которой обсуждаются рекомендации по WSUS на контроллере домена:
Если дополнительных серверов нет, лучше всего создать на хосте 2 виртуальные машины, одну для DC, а другую для WSUS.
2) Чтобы удалить WSUS, команды, которую дал вам @Alexander, недостаточно, что поможет вам только удалить роль WSUS. Вам необходимо удалить базу данных WSUS, веб-сайт «Администрирование WSUS», пул приложений «WsusPool» и т. Д. Вы можете выполнить действия, описанные в этой статье:
(Обратите внимание: информация, размещенная по указанной ссылке, размещена на стороннем сервере. Microsoft не гарантирует точность и эффективность информации.)
Спасибо за вашу поддержку! И не могли бы вы помочь мне Предложить ответ, чтобы поддержать мою работу? Я был бы очень признателен.
PowerShell: системное администрирование и программирование
Всё о PowerShell в Windows и на Linux. Системное администрирование Windows
Управление ролями и функциями Windows Server с помощью PowerShell
В Windows Server 2012R2, 2016, 2019 и 2022 вы можете использовать графическую консоль Server Manager для установки и удаления ролей и компонентов сервера. Однако в большинстве случаев вы можете сделать то же самое из консоли PowerShell намного быстрее. В этой статье мы рассмотрим, как управлять ролями и функциями в современных версиях Windows Server с помощью PowerShell.
Как через PowerShell вывести список всех установленных ролей и функций Windows Server
Используйте командлет Get-WindowsFeature, чтобы отобразить список всех доступных ролей и компонентов Windows Server. Если вы запустите его без параметров, вы увидите информацию обо всех компонентах Windows Server.
Отображаются имя компонента (Display Name), его системное имя (Name) и состояние (Install State: Installed, Available или Removed). Список ролей и функций выглядит как дерево с вложенными ролями, подобное тому, которое вы видите при установке ролей в графическом интерфейсе Server Manager. Чтобы установить и удалить любые роли или компоненты с помощью PowerShell, вы должны знать их системные имена, указанные в столбце «Имя».
Подсказка : Если роль или функция удалены, это означает, что её установочные файлы удалены из системного компонента sote (для уменьшения размера папки WinSxS), и вы не сможете установить роль без доступа в Интернет или установочного ISO диска с Windows Server.
Вы можете удалить роли или компоненты из хранилища следующим образом:
Чтобы установить удалённую роль DHCP, используйте этот командлет (вам понадобится прямой доступ в Интернет):
Или вы можете восстановить двоичные файлы компонентов из ISO-образа Windows Server:
Вы можете перечислить установленные функции сервера:
Судя по приведённому ниже снимку экрана, этот сервер используется в качестве контроллера домена (установлена роль AD-Domain-Services), DNS сервера (установлена роль DNS) и файлового сервера (установлены роли FileAndStorage-Services, Storage-Services). Большинство других компонентов используются для управления или мониторинга сервера.
Если вы точно не знаете имя роли, вы можете использовать подстановочные знаки. Например, чтобы проверить, какие веб-компоненты роли IIS установлены, выполните эту команду (синтаксис немного сокращён):
Вы можете получить список установленных компонентов на удалённом сервере Windows:
Вы можете использовать командлет Get-WindowsFeature для поиска серверов в вашем домене, на которых установлена определённая роль. Вы можете выполнять поиск на своих серверах в конкретном подразделении Active Directory с помощью командлета Get-ADComputer из модуля PowerShell ActiveDirectory или по предоставленному списку серверов ($ servers = ('server1', 'server2')).
Например, вы хотите найти все файловые серверы с ролью FileAndStorage-Services в указанном организационном подразделении AD, то используйте следующий скрипт:
Пример поиска контроллера домена:
В результате вы получите список серверов, на которых установлена конкретная роль.
Как с помощью PowerShell установить роли и компоненты Windows Server?
Для установки ролей и компонентов на Windows Server используется командлет Install-WindowsFeature.
Чтобы установить роль DNS-сервера и инструменты управления (включая модуль Powershell DNSServer) на текущий сервер, выполните следующую команду:
Установка роли «Active Directory Domain Services»:
По умолчанию командлет устанавливает все зависимые роли и компоненты. Чтобы отобразить список зависимостей перед установкой, используйте опцию -WhatIf:
Чтобы установить роль узла сеанса удалённого рабочего стола, роль лицензирования RDS и инструменты удалённого управления RDS, используйте следующую команду:
Если вы добавите параметр -Restart, ваш сервер при необходимости будет автоматически перезагружен.
Вы также можете установить компонент с помощью следующей команды. Например, чтобы установить роль SMTP-сервера:
Как с помощью PowerShell развернуть роли на нескольких удалённых серверах Windows?
Есть ещё один интересный вариант при развёртывании типовых серверов. Вы можете установить необходимые функции на эталонном сервере Windows и экспортировать список установленных ролей в файл CSV:
После этого вы сможете использовать этот CSV-файл для установки того же набора ролей на других типичных серверах:
Если роль или функция уже установлены, команда вернёт NoChangeNeeded и продолжит установку следующей роли.
Или, чтобы установить один и тот же набор ролей на нескольких удалённых серверах, вы можете использовать эту команду:
Как с помощью PowerShell удалить роль или компонент на Windows Server?
Чтобы удалить роли или функции Windows Server, используется командлет Remove-WindowsFeature.