Управление на ролите и функции на Windows Server от PowerShell

В Windows Server 2012R2 / 2016/2019 можете да инсталирате и премахвате различни сървърни роли и компоненти чрез графичния мениджър на сървъри. Въпреки това, в повечето случаи същите тези операции могат да се извършват много по-бързо от конзолата PowerShell. В тази статия ще разгледаме функциите за управление на ролите и функциите в текущите версии на Windows Server..

Съдържание:

  • Как да изброите всички инсталирани роли и компоненти на Windows Server?
  • Инсталирайте роли и функции на Windows Server от PowerShell
  • Внедряване на роли на много Windows сървъри
  • Как да премахнете роля или функция в Windows Server с помощта на PowerShell?

Как да изброите всички инсталирани роли и компоненти на Windows Server?

Използвайте командлета, за да изброите всички налични роли и функции на Windows Server. Get-WindowsFeature. Ако го изпълните без параметри, ще се появи информация за всички компоненти..

Както можете да видите, името на компонента (Display Name), неговото системно име (Name) и състояние (Install State: Инсталирана, налична или премахната). Списъкът с роли и компоненти е дърво с вложени роли, което прилича на това, което виждате при инсталирането на роли чрез графичния сървър на мениджъра. За да инсталирате и премахвате роли и компоненти чрез PowerShell, трябва да знаете тяхното системно име, което се съдържа в колоната име.

съвет. Ако роля или функция е в състояние Премахнато, това означава, че инсталационните му файлове се изтриват от локалното системно хранилище (намалява размера на папката WinSxS) и не можете да инсталирате тази роля.

Ролите и компонентите се премахват от изображението, както следва:

Деинсталиране на WindowsFeature -Име DHCP -Отстраняване

За да инсталирате отдалечената роля, използвайте командлета:

Инсталиране на WindowsFeature DHCP (Изисква се достъп до Интернет)

Или можете да възстановите компонентите на тяхната дистрибуция с вашата версия на Windows Server:

Инсталирайте-WindowsFeature DHCP -източник E: \ източници \ sxs

Можете да изброите инсталираните компоненти на сървъра:

Get-WindowsFeature | Къде-обект $ _. installstate -eq "инсталиран" | ft име, Installstate

Съдейки по екрана, този сървър се използва като файлов сървър (роли FileAndStorage-Services, Storage-Services). Повечето от останалите компоненти се използват за управление и наблюдение на сървъра..

Ако не знаете точното име на ролята, можете да използвате заместващи символи. Например, за да проверите кои от уеб компонентите на ролята на IIS са инсталирани, направете (леко намалете синтаксиса):

Get-WindowsFeature -Name web- * | Къде е инсталиран

Можете да получите списък с инсталирани компоненти на отдалечен Windows Server:

Get-WindowsFeature -ComputerName msk-prnt1 | Къде е инсталиран | ft име, Installstate

Съдейки по инсталираните роли Print-Services и Print-Server, този сървър се използва като сървър за печат.

Можете да използвате командлета Get-WindowsFeature за търсене на сървъри в домейн с инсталирана конкретна роля. Можете да търсите сървърите в определен OU Active Directory с помощта на командлета Get-ADComputer от модула ActiveDirectory за PowerShell или с помощта на посочения списък от сървъри ($ servers = ('server1', 'server2')). Например, трябва да намерим всички файлови сървъри с ролята FileAndStorage-Services в посочения AD контейнер (използвам PS редактора - Visual Studio Code)

import-module activedirectory
$ Сървъри = get-adcomputer -properties * -Filter Operatingsystem -notlike "* 2008 *" -и активиран -eq "true" -и операционна система -подобен "* Windows Server *" -SearchBase 'OU = сървъри, OU = MSK , DC = winitpro.ru, DC = ru '| изберете име
Foreach ($ сървър в $ сървъри)

Get-WindowsFeature -name FileAndStorage-Services -ComputerName $ server.Name | Къде е инсталиран | ft $ server.name, Име, Installstate

В резултат на това имаме списък със сървъри, на които е инсталирана тази роля..

Инсталирайте роли и функции на Windows Server от PowerShell

За да инсталирате роли и функции в Windows Server, използвайте командлета Install-WindowsFeature.

За да инсталирате ролята на DNS на текущия сървър и инструменти за управление (включително модула Powershell - DNSServer), изпълнете:

Инсталиране-WindowsFeature DNS -IncludeManagementTools

По подразбиране командлетът инсталира всички необходими зависими роли и компоненти, когато ролята е инсталирана. За да изброите зависимостите преди инсталиране, използвайте опциите.
Install-WindowsFeature -name UpdateServices -whatif

Например, за да инсталирате ролята на сървъра за актуализиране на WSUS, трябва да инсталирате някои компоненти на IIS.

Какво става, ако: Продължете с инсталацията?
Какво става, ако: Извършване на инсталация за „[Windows Server Update Services] Windows Server Update“
Какво става, ако: Извършване на инсталация за „[Windows Server Update Services] WID база данни“.
Какво става, ако: Извършване на инсталация за „[Услуги за актуализиране на Windows Server] WSUS Services“.
Ами ако: Извършване на инсталация за "[Уеб сървър (IIS)] Удостоверяване на Windows".
Ами ако: Извършване на инсталация за "[Web Server (IIS)] Dynamic Compression Compression".
Какво става, ако: Извършване на инсталация за "[Web Web (IIS)] Performance".
Ами ако: Извършване на инсталация за "[Web Server (IIS)] Static Content".
Какво става, ако: Извършване на инсталация за „[Вътрешна база данни на Windows] Вътрешна база данни на Windows“.
Какво става: Възможно е целевият сървър да се рестартира след завършване на инсталацията.

За да инсталирате ролята на хоста на отдалечен работен плот, услугата за лицензиране на RDS и помощните програми за управление на RDS на отдалечения сървър, използвайте командата:

Install-WindowsFeature -ComputerName msk-rds21 RDS-RD-Server, RDS-Licensing -IncludeAllSubFeature -IncludeManagementTools -Restart

С параметър -Рестарт сървърът автоматично ще се рестартира, ако инсталираният компонент го изисква.

Можете също да инсталирате компонента с тази команда (например ролята на SMTP сървъра):

Get-WindowsFeature -Име SMTP-сървър | Инсталирайте-WindowsFeature

Внедряване на роли на много Windows сървъри

Друга интересна функция при разполагане на сървъри от същия тип. Можете да инсталирате необходимите компоненти на референтен Windows Server и да експортирате списъка с инсталирани роли в CSV файл:

Get-WindowsFeature | където $ _. инсталиран -eq $ True | изберете име | Export-Csv C: \ ps \ Roles.csv -NoTypeInformation -Verbose

След това можете да използвате този CSV файл, за да инсталирате същия набор от роли на други типични сървъри:

Import-Csv C: \ PS \ Roles.csv | foreach Install-WindowsFeature $ _. name

Ако ролята или компонентът вече са инсталирани, командата ще се върне NoChangeNeeded и продължете да инсталирате следващата роля.

Или за да инсталирате един и същ набор от роли на няколко сървъра наведнъж, можете да използвате следната команда:

$ сървъри = ('srv1', 'srv2', 'srv3')
foreach ($ сървър в $ сървъри) Install-WindowsFeature RDS-RD-Server -ComputerName $ server

Как да премахнете роля или функция в Windows Server с помощта на PowerShell?

Използвайте командлета, за да премахнете ролите и функциите на Windows Server Remove-WindowsFeature.

Например, за да премахнете ролята на сървъра за печат, изпълнете командата:

Remove-WindowsFeature Print-Server-Възстановяване