Kompletny samouczek dotyczący polecenia Get-WindowsFeature w systemie Windows Server

Ostatnia aktualizacja: 14/08/2025
Autor: Isaac
  • Dokładny inwentarz i filtry: lista, wyszukiwanie i segmentacja ról/funkcji za pomocą Get-WindowsFeature.
  • Automatyzacja wdrażania: Instalowanie/odinstalowywanie (w tym narzędzi) i praca zdalna przy użyciu Invoke-Command.
  • Przykłady z życia wzięte: przygotowanie usług IIS i promocja usług AD DS za pomocą poleceń cmdlet ADDSDeployment.
  • Pożądany stan: Wymuś obecność/brak przy użyciu zasobu DSC WindowsFeature.

Windows Server 2025

Jeśli ci się uda Windows Codzienne korzystanie z serwera, opanowanie funkcji Get-WindowsFeature robi całą różnicę pomiędzy marnowaniem czasu na klikanie w Menedżerze serwera lub zautomatyzuj w kilka sekund Inwentaryzacja i wdrażanie ról i funkcji. W tym samouczku dowiesz się, bez zbędnych ceregieli, jak tworzyć listy, filtrować, instalować, odinstalowywać i pracować zdalnie za pomocą tego polecenia cmdlet, z przykładami z życia wziętymi, które przydadzą Ci się w codziennym życiu.

Ponadto połączymy użycie Get-WindowsFeature z typowymi zadaniami, takimi jak wdrażanie usług IIS lub Active Directory Domain Services (AD DS), przyjrzymy się sposobowi wykonywania zapytań do struktury lasu i zakończymy pełną sekcją dotyczącą zasobu DSC WindowsFeature, aby wymusić pożądany stan (zainstalowany czy nie) o właściwościach takich jak Zapewniać o Uwzględnij wszystkie podfunkcje.Zawieram polecenia, filtry i Tricks więc możesz zastosować go w takiej formie, w jakiej jest.

Czym jest polecenie Get-WindowsFeature i jaka jest jego składnia?

Get-WindowsFeature to polecenie cmdlet, które wysyła zapytanie o role i funkcje dostępne i zainstalowane w systemie Windows Server. (od wersji Windows Server 2008). Wyświetla nazwę wewnętrzną, nazwę wyświetlaną i status instalacjii akceptuje filtry i wykonywanie na komputerach zdalnych.

Zwykła składnia polecenia cmdlet, w tym kluczowe parametry, takie jak -Nazwa, -NazwaKomputera, -Mandat, -Ścieżka dziennika o -Vhd:

Get-WindowsFeature  <String[]> ]     

Przydatna wskazówka:parametr -Ścieżka dziennika umożliwia zrzucanie wyników do pliku dziennika, co jest przydatne w przypadku audytów lub CI/CD.

Zinterpretuj wynik i filtruj jako profesjonalistę

Oznaczenia wyjściowe zawierają już zainstalowane funkcje i z dostępnymi. Dodatkowo kolumna Stan instalacji Można wybrać opcję „Zainstalowane” lub „Dostępne”. Możesz filtrować wyniki według dowolnej z tych właściwości.

Pełna lista bez filtrów (i tak, może być długa):

Get-WindowsFeature

Filtruj według symboli wieloznacznych w nazwie wewnętrznej Aby na przykład znaleźć wszystko, co zawiera DHC (jak DHCP):

Get-WindowsFeature -Name *DHC*

Pozostać sam na sam z tym, co zainstalowany korzystanie ze stanu instalacji, bardzo przydatne przy inwentaryzacji:

Get-WindowsFeature | Where-Object { $_.InstallState -eq "Installed" }

Wypisz co jest dostępne do zainstalowania (nie zainstalowano):

Get-WindowsFeature | Where-Object { $_.InstallState -eq "Available" }

Wyszukaj według dokładnego dopasowania nazwy wewnętrznej (na przykład rola DNS) lub według nazwy wyświetlanej w języku hiszpańskim:

# Por Name exacto
Get-WindowsFeature | Where-Object { $_.Name -eq "DNS" }

# Por DisplayName exacto
Get-WindowsFeature | Where-Object { $_.DisplayName -eq "Servidor DNS" }

Instalowanie i odinstalowywanie ról i funkcji z poziomu programu PowerShell

Aby zainstalować, użyj Install-WindowsFeature wskazując nazwę roli lub funkcji. Jeśli chcesz uwzględnić powiązane narzędzia administracyjne, dodaj -IncludeManagementTools.

# Ejemplo: instalar IIS con sus herramientas de administración
Install-WindowsFeature -Name Web-Server -IncludeManagementTools

Aby odinstalować, użyj Uninstall-WindowsFeature (jeśli dotyczy) lub zadzwoń ponownie do Install Zapewnić = Nieobecny w DSC, jak zobaczymy później. Możesz również sprawdzić powiązane samouczki na stronie zarządzaj użytkownikami z poziomu programu PowerShell.

Rejestruj operację za pomocą -LogPath Jeśli potrzebujesz śladu, aby spełnić wymagania audytu:

Install-WindowsFeature -Name Desktop-Experience -LogPath C:\logs\install-desktop-experience.log

Zapytania zdalne: zdalne sterowanie serwerami

Get-WindowsFeature może wskazywać na pojedynczy serwer zdalny za pomocą -ComputerName, idealne do sprawdzania statusu ze stanowiska administracyjnego:

Get-WindowsFeature -ComputerName SRV-CORE-01

Jeśli musisz wysłać zapytanie do wielu serwerów jednocześnie, oprzeć się na tobie Invoke-Command Daje Ci elastyczność i zwraca także źródło każdego wyniku na wyjściu:

Invoke-Command -ComputerName SRV-A,SRV-B -ScriptBlock { Get-WindowsFeature ADRMS, RemoteAccess }

Można również wyszukiwać zdalnie za pomocą symboli wieloznacznych. aby zlokalizować funkcje takie jak kopie zapasowe, klastrowanie itp.:

Invoke-Command -ComputerName SRV-CORE-01 -ScriptBlock { Get-WindowsFeature *Backup* }

Przykład praktyczny 1: przygotowanie i zarządzanie usługą IIS za pomocą programu PowerShell

Zacznij od sprawdzenia, jakie komponenty IIS są obecne a których brakuje, przy użyciu zapytania filtrowanego według symboli wieloznacznych w nazwie:

Get-WindowsFeature -Name *IIS*

Zainstaluj serwer WWW i jego narzędzia w jednym ujęciu, dzięki czemu nie musisz już dodawać komponentów zarządzających:

Install-WindowsFeature -Name Web-Server -IncludeManagementTools

Poznaj dostępne polecenia cmdlet do zarządzania usługami IIS Po instalacji, w celu zautomatyzowania witryn, pul, powiązań itp.:

Get-Command -Module IISAdministration

Utwórz nowy folder witryny i jego plik index.html ze standardowymi poleceniami cmdlet PowerShell dla systemu plików:

New-Item -ItemType Directory -Path 'C:\inetpub\wwwroot\MiSitio'
New-Item -ItemType File -Path 'C:\inetpub\wwwroot\MiSitio\index.html'

Wdróż witrynę i ustaw jej powiązanie obsługiwać konkretny port (na przykład 8080):

New-IISSite -Name 'MiSitio' -PhysicalPath 'C:\inetpub\wwwroot\MiSitio' -BindingInformation '*:8080:'

Uruchom, zatrzymaj lub sprawdź status witryny jak potrzebujesz i użyj -WhatIf w celu zatwierdzenia operacji destrukcyjnych, takich jak usuwanie:

Start-IISSite -Name 'MiSitio'
Stop-IISSite -Name 'MiSitio'
(Get-IISSite -Name 'MiSitio').Bindings
Remove-IISSite -Name 'MiSitio' -WhatIf

Przykład praktyczny 2: Sprawdzanie ról w systemie Windows Server 2022 i stanu usług AD DS

Na serwerach bez GUI (Server Core) często wychodzi się z sconfig i pracuje w konsoli. Zaimportuj moduł Active Directory, jeśli zamierzasz przeprowadzać kontrole lasu:

Import-Module ActiveDirectory

Skonsultuj role lub cechy konkretnego zespołu Aby sprawdzić, czy usługi AD DS i DNS są już obecne (instalacje usług AD DS zazwyczaj obejmują usługę DNS):

Get-WindowsFeature -ComputerName server-2022-b

Pobierz konfigurację lasu (nazwa lasu, domeny, GC itp.) za pomocą bezpośredniego polecenia cmdlet i bez obowiązkowych parametrów, a także zapytania o strukturę infrastruktury z powiązanymi zasobami Migracja ról i usług do innego serwera Windows.

Get-ADForest

Jeśli pracujesz na wielu maszynach, filtruj lub przeglądaj dane wyjściowe aby zlokalizować „Usługi domenowe Active Directory” i „Serwer DNS”.

  Jak krok po kroku usunąć stare sterowniki z C:\Windows\System32\DriverStore

Wdrażanie usług AD DS za pomocą programu PowerShell: od zera do lasu, domen i kontrolerów

Zacznij od zainstalowania roli i narzędzi usługi AD DS Aby zapewnić polecenia cmdlet i narzędzia graficznego interfejsu użytkownika (Użytkownicy i komputery, ADAC itp.):

Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools

Odkryj polecenia cmdlet modułu ADDSDeployment do automatyzacji promocji i instalacji. W tym procesie możesz również wykorzystać zasoby w awansować serwer do kontrolera domeny.

Get-Command -Module ADDSDeployment

Żądaj poświadczeń bezpiecznie w konsoli i użyj bezpiecznych ciągów dla hasła DSRM, gdzie jest to właściwe:

# Credenciales
$cred = Get-Credential

# Solicitud de contraseña DSRM como SecureString
$dsrm = Read-Host -Prompt 'DSRM Password:' -AsSecureString

# (No recomendado) Texto plano a SecureString
ConvertTo-SecureString "Password1" -AsPlainText -Force

Sprawdź wymagania wstępne za pomocą poleceń cmdlet testowych (warianty Test-*) przed uruchomieniem ostatecznej instalacji.

Utwórz nowy las z interaktywnym monitem o hasło DSRM, biorąc pod uwagę jego zastosowanie w:

Install-ADDSForest -DomainName 'corp.contoso.com'

Konfigurowanie poziomów funkcjonalnych, delegowania DNS i ścieżek DB/SYSVOL/Log w tworzeniu lasu:

Install-ADDSForest -DomainName corp.contoso.com -CreateDNSDelegation -DomainMode Win2008 -ForestMode Win2025 -DatabasePath 'D:\NTDS' -SYSVOLPath 'D:\SYSVOL' -LogPath 'E:\Logs'

Dodaj domenę podrzędną lub domenę drzewa z Install-ADDSDomain definiowanie danych uwierzytelniających, lokalizacji, źródłowego kontrolera domeny i tras, tak aby wdrożyć całą niezbędną strukturę.

RODC w dwóch fazach: wstępnie skonfigurowane konto i skojarzenie

W przypadku kontrolera RODC z wieloma poziomami najpierw utwórz konto kontrolera domeny tylko do odczytu za pomocą odpowiedniego polecenia cmdlet i delegowania administracji, jeśli to konieczne:

Add-ADDSReadOnlyDomainControllerAccount -DomainControllerAccountName RODC1 -DomainName corp.contoso.com -SiteName Boston -DelegatedAdministratorAccountName AdminUser

Na serwerze, który zostanie dołączony do tego konta, nie jest jeszcze dołączony do domeny, zainstaluj rolę i zakończ promocję, korzystając z istniejącego konta:

Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
Install-ADDSDomainController -DomainName corp.contoso.com -SafeModeAdministratorPassword (Read-Host -Prompt 'DSRM Password:' -AsSecureString) -Credential (Get-Credential Corp\AdminUser) -UseExistingAccount

Możesz potwierdzić przyciskiem Y lub zautomatyzować za pomocą -Confirm aby wyłączyć pytania interaktywne w skryptach.

Instalowanie usług AD DS za pomocą interfejsu graficznego (Menedżera serwera): podstawowe kroki

Jeśli wolisz kreatora graficznego, Menedżer serwera obejmuje cały cykl: Dodaj rolę AD DS, a następnie awansuj serwer do roli kontrolera domeny przy użyciu kreatora konfiguracji.

  1. Rozpocznij „Dodaj role i funkcje”, wybierz instalację opartą na rolach i serwer docelowy.
  2. Marka „Usługi domenowe Active Directory”, zaakceptuj dodanie funkcji i kontynuuj.
  3. Zainstaluj i po zakończeniu kliknij „Awansuj ten serwer do kontrolera domeny” aby otworzyć kreatora konfiguracji.
  4. W konfiguracji wdrożenia, wybierz: dodaj DC do istniejącej domeny, utwórz domenę podrzędną, utwórz domenę drzewa lub utwórz nowy las.
  5. W opcjach kontrolera domeny, wybierz odpowiednio DNS, GC lub RODC, wybierz witrynę, zdefiniuj hasło DSRM.
  6. Jeśli zainstalujesz DNS, w opcjach DNS zdecyduj, czy zaktualizować delegację (wymagane są uprawnienia w strefie podstawowej).
  7. Dla RODCW opcjach RODC można delegować administrację i dostosować zasady replikacji haseł.
  8. W opcjach dodatkowych, weryfikuje NetBIOS domeny lub kontrolera domeny replikacji. IFM wskazuje ścieżkę do nośnika (nie jest ważny dla pierwszego kontrolera domeny w domenie).
  9. W ścieżkach, definiuje lokalizacje baz danych, dzienniki i SYSVOL (lub zaakceptuj domyślne ścieżki).
  10. Opcje w przygotowaniu, użyj poświadczeń z uprawnieniami do uruchomienia adprep.
  11. Zaznacz opcje, eksportuj scenariusz si quieres i uruchamia kontrolę wymagań wstępnych.
  12. Zainstaluj i pozwól serwerowi uruchomić się ponownie aby dokończyć promocję.
  Przekierowanie folderów a profile użytkowników mobilnych w systemie Windows: praktyczny przewodnik z informacjami o zaletach, zagrożeniach i najlepszych praktykach

W scenariuszach RODC z wstępnie utworzonym kontemKreator umożliwia „Użyj istniejącego konta RODC”, wybór IFM, trasy i zakończenie sprawdzeń.

Zasób funkcji systemu Windows DSC: Wymuś żądany stan

Oprócz polecenia cmdlet zasób DSC WindowsFeature sprawdza, czy rola lub funkcja jest obecna lub nieobecna. na jednym lub większej liczbie serwerów, co pasuje do w pełni zautomatyzowanych infrastruktur.

Streszczenie- Deklaratywne instalowanie lub odinstalowywanie roli lub funkcji systemu Windows.

Składnia zasobu w konfiguracji DSC:

WindowsFeature  #ResourceName
{
  Name                   = 
  ]
  ]]
   { Absent | Present }]
  ]
  ]
  ]
}

Wymagania:Windows Server 2008 lub nowszy na komputerze docelowym oraz dostęp do modułów DISM i ServerManager PowerShell.

Nazwa kluczowej właściwości: Użyj wewnętrznej nazwy roli lub funkcji (nie nazwy wyświetlanej). Aby wyświetlić listę prawidłowych opcji dla zespołu, użyj , uzupełniając w ten sposób wiedzę niezbędną do automatyzacji zarządzania rolami i funkcjami.

Inne właściwości istotne w scenariuszach z życia realnego:

  • Poświadczenie: Poświadczenie umożliwiające dodanie lub usunięcie roli danej tożsamości. Typ poświadczenia PS.
  • Zapewniać: „Obecny” – instalacja, „Nieobecny” – usunięcie. Wartość domyślna: Obecny.
  • Uwzględnij wszystkie podfunkcje: instaluje wszystkie podfunkcje, jeśli mają zastosowanie $true. Jeśli Ensure = Absent, usuń również podfunkcje.
  • Ścieżka dziennika: ścieżka do pliku dziennika instalacji lub deinstalacji.

Właściwość tylko do odczytu DisplayName: Nazwa wyświetlana, którą zasób otrzymuje po zastosowaniu stanu.

Ucz się szybciej: aktualizowana pomoc i wbudowane przykłady

Utrzymuj pomoc na bieżąco dzięki funkcji Update-Help a następnie użyj Sprowadź pomoc Aby zobaczyć streszczenie i przykłady dowolnego polecenia cmdlet, w tym omawianego przez nas:

Update-Help
Get-Help Get-WindowsFeature -Examples

Dzięki temu połączeniu unikniesz marnowania czasu na przeszukiwanie sieci gdy chcesz po prostu mieć gotowe przykłady do skopiowania i wklejenia.

Zakres i produkty objęte

Polecenie Get-WindowsFeature i opisane tutaj operacje dotyczą systemu Windows Server (2008 i nowsze). Niektóre źródła podają, że problem dotyczy systemów Microsoft Windows Server 2012 i 2012 R2.

W środowiskach producentów funkcjonalność jest udostępniana na szerokiej gamie serwerów korporacyjnych. (np. rodziny Dell PowerEdge, takie jak C4130, C4140, C6400 i inne), co wzmacnia jego przydatność w heterogenicznych środowiskach centrów danych. Jeśli chcesz poszerzyć swoją wiedzę, możesz również skorzystać z zasobów na stronie o serwerach i lokalizacjach.

  Jak włączyć lub wyłączyć pamięć Copilota: prywatność, reklamy i ustawienia w usłudze Microsoft 365 i programie Outlook

Dzięki tym elementom inwentaryzacja i standaryzacja ról za pomocą Get-WindowsFeature, wdrażanie usług IIS lub promowanie usług AD DS stają się zadaniami powtarzalnymi, możliwymi do śledzenia i łatwymi do zautomatyzowania.; a jeśli chcesz zagwarantować stan, zasób DSC WindowsFeature uzupełnia cykl solidną warstwą deklaratywną.

Migracja ról i usług na inny serwer z systemem Windows Server 5
Podobne artykuł:
Kompletny przewodnik po migracji ról i usług do innego systemu Windows Server