- Přesná inventář a filtry: Zobrazujte, vyhledávejte a segmentujte role/funkce pomocí Get-WindowsFeature.
- Automatizace nasazení: Instalace/odinstalace (včetně nástrojů) a práce na dálku pomocí Invoke-Command.
- Případy z praxe: Příprava IIS a povýšení služby AD DS pomocí rutin ADDSDeployment.
- Požadovaný stav: Vynutit přítomnost/nepřítomnost pomocí prostředku DSC WindowsFeature.
Pokud spravujete Windows Server denně, zvládnutí Get-WindowsFeature vám pomůže zkrátit dobu potřebnou k procházení Správce serveru a automatizovat inventuru a nasazení rolí a funkcí během několika sekund. Tento tutoriál vám bez problémů ukáže, jak s touto rutinou vypisovat, filtrovat, instalovat, odinstalovat a pracovat na dálku, a to pomocí reálných příkladů, které odpovídají vašemu každodennímu pracovnímu postupu.
Dále propojíme použití Get-WindowsFeature s typickými úlohami, jako je nasazení IIS nebo Active Directory Domain Services (AD DS) , uvidíme, jak dotazovat strukturu doménové struktury, a zakončíme kompletní částí o prostředku DSC WindowsFeature pro vynucení požadovaného stavu ( nainstalováno či nikoli ) pomocí vlastností, jako je Ensure nebo IncludeAllSubFeature . Přidal jsem příkazy , filtry a tipy , abyste jej mohli použít tak, jak je.
Co je Get-WindowsFeature a jaká je jeho syntaxe?
Get-WindowsFeature je cmdlet, který dotazuje role a funkce dostupné a nainstalované v systému Windows Server (od verze Windows Server 2008 a novější). Zobrazuje interní název, zobrazovaný název a stav instalace , přijímá filtry a lze jej spustit na vzdálených počítačích.
Obvyklá syntaxe cmdletu, včetně klíčových parametrů, jako například -Name , -ComputerName , -Credential , -LogPath nebo -Vhd :
Get-WindowsFeature <String[]> ]
Užitečný tip : Parametr -LogPath umožňuje ukládat výsledky do souboru protokolu, což je ideální pro audity nebo CI/CD.
Interpretujte výstup a filtrujte jako profesionál
Výstup zobrazuje nainstalované i dostupné funkce. Sloupec InstallState navíc zobrazuje buď hodnotu „Nainstalováno“, nebo „Dostupné“. Můžete filtrovat podle kterékoli z těchto vlastností.
Úplný seznam bez filtrů (a ano, může být dlouhý):
Get-WindowsFeature
Filtrujte podle zástupných znaků v interním názvu , abyste našli například vše, co obsahuje DHC (například DHCP):
Get-WindowsFeature -Name *DHC*
Uchovávání pouze toho, co je nainstalováno, s využitím stavu instalace je pro inventář velmi užitečné:
Get-WindowsFeature | Where-Object { $_.InstallState -eq "Installed" }
Vypište, co je k dispozici k instalaci (není nainstalováno):
Get-WindowsFeature | Where-Object { $_.InstallState -eq "Available" }
Vyhledávání podle přesné shody interního názvu (např. role DNS) nebo podle zobrazovaného názvu ve španělštině:
# Por Name exacto
Get-WindowsFeature | Where-Object { $_.Name -eq "DNS" }
# Por DisplayName exacto
Get-WindowsFeature | Where-Object { $_.DisplayName -eq "Servidor DNS" }
Instalace a odinstalace rolí a funkcí z PowerShellu
Pro instalaci použijte Install-WindowsFeature s uvedením názvu role nebo funkce. Pokud chcete zahrnout související nástroje pro správu, přidejte -IncludeManagementTools.
# Ejemplo: instalar IIS con sus herramientas de administración
Install-WindowsFeature -Name Web-Server -IncludeManagementTools
Pro odinstalaci použijte Uninstall-WindowsFeature (pokud je to relevantní) nebo spusťte příkaz Install znovu s nastavením Ensure = Absent v DSC, jak uvidíme později. Můžete si také prohlédnout související tutoriály o správě uživatelů z PowerShellu.
Pokud potřebujete trasování pro splnění požadavků auditu, zaznamenejte operaci pomocí parametru -LogPath :
Install-WindowsFeature -Name Desktop-Experience -LogPath C:\logs\install-desktop-experience.log
Vzdálené dotazy: vzdálené ovládání serverů
Get-WindowsFeature může odkazovat na jeden vzdálený server s parametrem -ComputerName , což je ideální pro kontrolu stavu z vaší administrativní pracovní stanice:
Get-WindowsFeature -ComputerName SRV-CORE-01
Pokud potřebujete dotazovat více serverů najednou, opírám se o tebe Invoke-Command Poskytuje vám flexibilitu a také vrací původ každého výsledku ve výstupu:
Invoke-Command -ComputerName SRV-A,SRV-B -ScriptBlock { Get-WindowsFeature ADRMS, RemoteAccess }
Můžete také vzdáleně vyhledávat pomocí zástupných znaků a najít související funkce, jako jsou zálohy, clustering atd.:
Invoke-Command -ComputerName SRV-CORE-01 -ScriptBlock { Get-WindowsFeature *Backup* }
Praktický příklad 1: příprava a správa IIS pomocí PowerShellu
Začněte kontrolou, které komponenty IIS jsou přítomny a které chybí, pomocí dotazu filtrovaného podle zástupných znaků v názvu:
Get-WindowsFeature -Name *IIS*
Nainstalujte webový server a jeho nástroje najednou, abyste nemuseli znovu přidávat komponenty pro správu:
Install-WindowsFeature -Name Web-Server -IncludeManagementTools
Prozkoumejte, které rutiny pro správu služby IIS jsou k dispozici po instalaci pro automatizaci webů, fondů, vazeb atd.:
Get-Command -Module IISAdministration
Vytvořte novou složku webu a její soubor index.html pomocí standardních rutin PowerShellu pro daný souborový systém:
New-Item -ItemType Directory -Path 'C:\inetpub\wwwroot\MiSitio'
New-Item -ItemType File -Path 'C:\inetpub\wwwroot\MiSitio\index.html'
Nasaďte web a nastavte jeho vazbu pro obsluhu na konkrétním portu (například 8080):
New-IISSite -Name 'MiSitio' -PhysicalPath 'C:\inetpub\wwwroot\MiSitio' -BindingInformation '*:8080:'
Spuštění, zastavení nebo kontrola stavu webu jak potřebujete a použijte -WhatIf pro ověření destruktivních operací, jako je například mazání:
Start-IISSite -Name 'MiSitio'
Stop-IISSite -Name 'MiSitio'
(Get-IISSite -Name 'MiSitio').Bindings
Remove-IISSite -Name 'MiSitio' -WhatIf
Praktický příklad 2: Kontrola rolí ve Windows Serveru 2022 a stavu služby AD DS
Na serverech bez grafického rozhraní (Server Core) je běžné ukončit sconfig a pracovat v konzoli . Pokud budete provádět kontroly doménové struktury, importujte modul Active Directory.
Import-Module ActiveDirectory
Zkontrolujte role nebo vlastnosti konkrétního počítače a ověřte, zda jsou již přítomny služby AD DS a DNS (instalace služby AD DS obvykle zahrnují DNS):
Get-WindowsFeature -ComputerName server-2022-b
Získejte konfiguraci doménové struktury (název doménové struktury, domény, GC atd.) pomocí přímé rutiny a bez povinných parametrů, a to i s využitím souvisejících zdrojů při migraci rolí a služeb na jiný server Windows.
Get-ADForest
Pokud pracujete s více počítači, filtrujte nebo procházejte výstup a vyhledejte „Služby domény Active Directory“ a „Server DNS“.
Nasazení služby AD DS pomocí PowerShellu: Od nuly k lesu, doménám a řadičům
Začněte instalací role a nástrojů služby AD DS , abyste měli k dispozici rutiny a nástroje grafického rozhraní (Uživatelé a počítače, ADAC atd.):
Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
Objevte cmdlety modulu ADDSDeployment pro automatizaci povýšení a instalací. Tento proces vám také umožňuje použít prostředky pro povýšení serveru na řadič domény.
Get-Command -Module ADDSDeployment
Bezpečně si vyžádejte přihlašovací údaje v konzoli a v případě potřeby použijte pro heslo DSRM silné řetězce:
# 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
Před spuštěním finální instalace ověřte předpoklady pomocí rutin test (varianty Test-*).
Vytvořte novou doménovou strukturu s interaktivními výzvami k zadání hesla DSRM s ohledem na její použití v:
Install-ADDSForest -DomainName 'corp.contoso.com'
Nakonfigurujte funkční úrovně, delegování DNS a cesty DB/SYSVOL/Logs během vytváření doménové struktury:
Install-ADDSForest -DomainName corp.contoso.com -CreateDNSDelegation -DomainMode Win2008 -ForestMode Win2025 -DatabasePath 'D:\NTDS' -SYSVOLPath 'D:\SYSVOL' -LogPath 'E:\Logs'
Přidat podřízenou nebo stromovou doménu s Install-ADDSDomain definování přihlašovacích údajů, lokality, zdrojového řadiče domény a tras tak, aby byla nasazena celá potřebná struktura.
RODC ve dvou fázích: předkonfigurovaný účet a přidružení
Pro vrstvený řadič domény RODC nejprve vytvořte účet řadiče domény jen pro čtení pomocí příslušné rutiny a v případě potřeby delegujte správu:
Add-ADDSReadOnlyDomainControllerAccount -DomainControllerAccountName RODC1 -DomainName corp.contoso.com -SiteName Boston -DelegatedAdministratorAccountName AdminUser
Na serveru, který bude připojen k danému účtu, bez nutnosti připojení k doméně , nainstalujte roli a dokončete povýšení pomocí existujícího účtu:
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
Můžete potvrdit pomocí Y nebo automatizovat pomocí -Confirm , abyste potlačili interaktivní otázky ve skriptech.
Instalace služby AD DS pomocí grafického rozhraní (Správce serveru): Základní kroky
Pokud dáváte přednost grafickému průvodci, Správce serveru pokrývá celý cyklus : přidání role služby AD DS a následné povýšení serveru na řadič domény pomocí průvodce nastavením.
- Spusťte „Přidání rolí a funkcí“, vyberte instalaci založenou na rolích a cílový server.
- Značka „Služby domény Active Directory“, přijměte přidání funkce a pokračujte.
- Nainstalujte a po dokončení klikněte na „Povýšit tento server na řadič domény“. otevřete průvodce nastavením.
- V konfiguraci nasazení, zvolte: přidat řadič domény do existující domény, vytvořit podřízenou doménu, vytvořit stromovou doménu nebo vytvořit novou doménovou strukturu.
- V možnostech řadiče domény, vyberte DNS, GC nebo RODC podle potřeby, vyberte lokalitu a definujte heslo DSRM.
- Pokud nainstalujete DNS, v Možnostech DNS rozhodněte, zda chcete aktualizovat delegaci (vyžaduje oprávnění v primární zóně).
- Pro RODCV možnostech RODC můžete delegovat správu a upravit zásady replikace hesel.
- V doplňkových možnostech, ověřuje NetBIOS domény nebo replikačního řadiče domény. IFM označuje cestu k médiu (neplatí pro první řadič domény v doméně).
- V cestáchdefinuje umístění v databázi, protokoly a SYSVOL (nebo přijměte výchozí cesty).
- Možnosti přípravy, použijte přihlašovací údaje s oprávněními ke spuštění nástroje adprep.
- Zkontrolujte možnosti, exportujte skript si quieres a spustí kontrolu předpokladů.
- Nainstalujte a nechte server restartovat k dokončení propagace.
Ve scénářích RODC s předem vytvořeným účtem vám průvodce umožní „Použít existující účet RODC“, vybrat IFM, trasy a dokončit kontroly.
Zdroj funkcí DSC Windows: Vynucení požadovaného stavu
Kromě rutiny zajišťuje prostředek DSC WindowsFeature, zda je role nebo funkce přítomna nebo nepřítomna na jednom nebo více serverech, což se hodí do plně automatizovaných infrastruktur.
Synopse : Deklarativní instalace nebo odinstalace role nebo funkce systému Windows.
Syntaxe zdrojů v konfiguraci DSC:
WindowsFeature #ResourceName
{
Name =
]
]]
{ Absent | Present }]
]
]
]
}
Požadavky : Windows Server 2008 nebo vyšší na cílovém systému a přístup k modulům PowerShellu DISM a ServerManager.
Název klíčové vlastnosti : Použijte interní název role nebo funkce (ne zobrazovaný název). Chcete-li zobrazit platné možnosti v týmu, použijte tento název, čímž doplníte znalosti potřebné k automatizaci správy rolí a funkcí.
Další relevantní vlastnosti v reálných scénářích:
- PověřeníPověření pro přidání nebo odebrání role jako dané identity. Typ PSCredential.
- Zajistit„Přítomno“ pro instalaci, „Nepřítomno“ pro odebrání. Výchozí hodnota: Přítomno.
- ZahrnoutVšechnyPodřízenéFunkce: nainstaluje všechny dílčí funkce, pokud jsou k dispozici
$truePokud je Ensure = Absent, odeberte také dílčí funkce. - Cesta protokolu: cesta k souboru protokolu instalace nebo odinstalace.
Vlastnost pouze pro čtení DisplayName : Zobrazovaný název, který zdroj získá po použití stavu.
Učte se rychleji: aktualizovatelná nápověda a vestavěné příklady
Udržujte si nápovědu aktuální pomocí příkazu Update-Help a poté pomocí příkazu Get-Help zobrazte synopse a příklady libovolné rutiny, včetně té, o které se zde zmiňujeme:
Update-Help
Get-Help Get-WindowsFeature -Examples
Tato kombinace vám zabrání plýtvat časem vyhledáváním na webu , když chcete mít příklady připravené ke kopírování a vkládání.
Rozsah a dotčené produkty
Příkaz Get-WindowsFeature a zde popsané operace platí pro systém Windows Server (2008 a novější). V některých konkrétních odkazech se jako dotčené produkty uvádí systém Microsoft Windows Server 2012 a 2012 R2.
V prostředí výrobců je tato funkce podporována širokou škálou podnikových serverů (například řadami Dell PowerEdge, jako jsou mimo jiné C4130, C4140 a C6400), což posiluje její použitelnost v heterogenních prostředích datových center. Další informace naleznete také ve zdrojích týkajících se serverů a umístění.
S těmito prvky v ruce se inventarizace a standardizace rolí pomocí Get-WindowsFeature, nasazení IIS nebo propagace služby AD DS stává opakovatelným, sledovatelným a snadno automatizovatelným úkolem ; a pokud chcete stav zaručit, prostředek DSC WindowsFeature dokončí cyklus robustní deklarativní vrstvou.
Vášnivý spisovatel o světě bytů a technologií obecně. Rád sdílím své znalosti prostřednictvím psaní, a to je to, co budu dělat v tomto blogu, ukážu vám všechny nejzajímavější věci o gadgetech, softwaru, hardwaru, technologických trendech a dalších. Mým cílem je pomoci vám orientovat se v digitálním světě jednoduchým a zábavným způsobem.