Zarządzanie rolami i funkcjami Windows Server z PowerShell

W systemie Windows Server 2012 R2 / 2016/2019 można instalować i usuwać różne role i składniki serwera za pomocą graficznego Menedżera serwera. Jednak w większości przypadków te same operacje można wykonać znacznie szybciej z konsoli PowerShell. W tym artykule przyjrzymy się funkcjom zarządzania rolami i funkcjami w bieżących wersjach systemu Windows Server..

Treść

  • Jak wyświetlić listę wszystkich zainstalowanych ról i składników systemu Windows Server?
  • Zainstaluj role i funkcje Windows Server z PowerShell
  • Wdrażanie ról na wielu serwerach Windows
  • Jak usunąć rolę lub funkcję w systemie Windows Server za pomocą programu PowerShell?

Jak wyświetlić listę wszystkich zainstalowanych ról i składników systemu Windows Server?

Użyj polecenia cmdlet, aby wyświetlić listę wszystkich dostępnych ról i funkcji systemu Windows Server. Get-WindowsFeature. Jeśli wykonasz go bez parametrów, pojawią się informacje o wszystkich komponentach..

Jak widać, nazwa komponentu (nazwa wyświetlana), nazwa systemu (nazwa) i status (stan instalacji: Zainstalowane, dostępne lub usunięte) Lista ról i komponentów to drzewo z zagnieżdżonymi rolami, które przypomina tę widoczną podczas instalowania ról za pomocą graficznego Menedżera serwera. Aby zainstalować i usunąć role i komponenty za pomocą PowerShell, musisz znać ich nazwę systemu, która jest zawarta w kolumnie Imię.

Wskazówka. Jeśli rola lub funkcja jest w stanie Usunięto, oznacza to, że jego pliki instalacyjne są usuwane z lokalnego repozytorium systemowego (zmniejszając rozmiar folderu WinSxS) i nie można zainstalować tej roli.

Role i komponenty są usuwane z obrazu w następujący sposób:

Uninstall-WindowsFeature -Name DHCP -Remove

Aby zainstalować rolę zdalną, użyj polecenia cmdlet:

Zainstaluj Windows Windows Funkcja DHCP (Wymagany dostęp do Internetu)

Lub możesz przywrócić składniki ich dystrybucji za pomocą swojej wersji systemu Windows Server:

Install-WindowsFeature DHCP -Source E: \ sources \ sxs

Możesz wyświetlić listę zainstalowanych komponentów serwera:

Get-WindowsFeature | Where-Object $ _. installstate -eq „Zainstalowano” | ft Nazwa, Installstate

Sądząc po zrzucie ekranu, serwer ten służy jako serwer plików (role FileAndStorage-Services, Storage-Services). Większość pozostałych składników służy do zarządzania i monitorowania serwera..

Jeśli nie znasz dokładnej nazwy roli, możesz użyć symboli wieloznacznych. Na przykład, aby sprawdzić, które komponenty sieciowe roli IIS są zainstalowane, wykonaj (nieznacznie zmniejsz składnię):

Get-WindowsFeature -Name web- * | Gdzie zainstalowany

Możesz uzyskać listę zainstalowanych składników na zdalnym systemie Windows Server:

Get-WindowsFeature -ComputerName msk-prnt1 | Gdzie zainstalowano | ft Nazwa, Installstate

Sądząc po zainstalowanych rolach Print-Services i Print-Server, serwer ten służy jako serwer wydruku.

Za pomocą polecenia cmdlet Get-WindowsFeature można wyszukiwać serwery w domenie, w której zainstalowano określoną rolę. Możesz przeszukiwać serwery w określonej jednostce organizacyjnej usługi Active Directory za pomocą polecenia cmdlet Get-ADComputer z modułu ActiveDirectory for PowerShell lub przy użyciu określonej listy serwerów ($ servers = („server1”, „server2”)) Na przykład musimy znaleźć wszystkie serwery plików z rolą FileAndStorage-Services w określonym kontenerze AD (używam edytora PS - Visual Studio Code)

katalog aktywowany import-module
$ Servers = get-adcomputer -properties * -Filter System operacyjny -nie jak „* 2008 *” -i włączony -eq „prawda” -i podobny do systemu operacyjnego „* Windows Server *” -SearchBase 'OU = Serwery, OU = MSK , DC = winitpro.ru, DC = ru '| wybierz nazwę
Foreach ($ server w $ Servers)

Get-WindowsFeature -name FileAndStorage-Services -ComputerName $ server.Name | Gdzie zainstalowano | ft $ server.name, Name, Installstate

W rezultacie mamy listę serwerów, na których ta rola jest zainstalowana..

Zainstaluj role i funkcje Windows Server z PowerShell

Aby zainstalować role i funkcje w systemie Windows Server, użyj polecenia cmdlet Install-WindowsFeature.

Aby zainstalować rolę DNS na bieżącym serwerze i narzędziach do zarządzania (w tym module Powershell - DNSServer), uruchom:

Zainstaluj-WindowsFeature DNS -IncludeManagementTools

Domyślnie cmdlet instaluje wszystkie wymagane role i składniki zależne po zainstalowaniu roli. Aby wyświetlić listę zależności przed instalacją, użyj opcji.
Install-WindowsFeature -name UpdateServices -whatif

Na przykład, aby zainstalować rolę serwera aktualizacji WSUS, musisz zainstalować niektóre składniki IIS.

Co jeśli: Kontynuuj instalację?
Co jeśli: Przeprowadzanie instalacji dla usługi [Windows Server Update Services] Windows Server Update
Co jeśli: Wykonywanie instalacji dla „[Windows Server Update Services] WID Database”.
Co jeśli: Wykonywanie instalacji dla „[Usługi Windows Server Update Services] Usługi WSUS”.
Co jeśli: Przeprowadzanie instalacji w celu „Uwierzytelnienia systemu Windows [Serwer sieci Web (IIS)]”.
Co jeśli: Wykonywanie instalacji dla „[Web Server (IIS)] Dynamic Compression Content”.
Co jeśli: Wykonywanie instalacji dla „Wydajności [serwera sieci Web (IIS)]”.
Co jeśli: Przeprowadzanie instalacji „Static Content [[Web Server (IIS)]”.
Co jeśli: Przeprowadzanie instalacji dla „[Wewnętrzna baza danych Windows] Wewnętrzna baza danych Windows”.
Co jeśli: Serwer docelowy może wymagać ponownego uruchomienia po zakończeniu instalacji.

Aby zainstalować rolę hosta sesji usług pulpitu zdalnego, usługę licencjonowania RDS i narzędzia do zarządzania RDS na zdalnym serwerze, użyj polecenia:

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

Z parametrem -Uruchom ponownie serwer zrestartuje się automatycznie, jeśli wymaga tego zainstalowany komponent.

Możesz również zainstalować komponent za pomocą tego polecenia (na przykład rola serwera SMTP):

Get-WindowsFeature -Name SMTP-Server | Zainstaluj-WindowsFeature

Wdrażanie ról na wielu serwerach Windows

Kolejna interesująca funkcja przy wdrażaniu serwerów tego samego typu. Możesz zainstalować niezbędne składniki na referencyjnym systemie Windows Server i wyeksportować listę zainstalowanych ról do pliku CSV:

Get-WindowsFeature | gdzie $ _. Zainstalowano -eq $ True | wybierz nazwę | Export-Csv C: \ ps \ Roles.csv -NoTypeInformation -Verbose

Następnie możesz użyć tego pliku CSV, aby zainstalować ten sam zestaw ról na innych typowych serwerach:

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

Jeśli rola lub składnik jest już zainstalowany, polecenie zwróci NoChangeNeeded i kontynuuj instalację następnej roli.

Lub, aby zainstalować ten sam zestaw ról na kilku serwerach jednocześnie, możesz użyć następującego polecenia:

$ servers = ('srv1', 'srv2', 'srv3')
foreach ($ server w $ servers) Install-WindowsFeature RDS-RD-Server -ComputerName $ server

Jak usunąć rolę lub funkcję w systemie Windows Server za pomocą programu PowerShell?

Użyj polecenia cmdlet, aby usunąć role i funkcje systemu Windows Server Usuń-WindowsFeature.

Na przykład, aby usunąć rolę serwera wydruku, uruchom polecenie:

Remove-WindowsFeature Print-Server -Restart