Windows Server szerepkörök és szolgáltatások kezelése a PowerShell segítségével
A Windows Server 2012R2/2016/2019 rendszerben a grafikus Kiszolgálókezelő konzolt használhatja a kiszolgálói szerepkörök és szolgáltatások telepítésére és eltávolítására. A legtöbb esetben azonban ugyanezt sokkal gyorsabban megteheti a PowerShell-konzolról. Ebben a cikkben megvizsgáljuk, hogyan kezelhetjük a szerepeket és szolgáltatásokat a modern Windows Server-verziókban a PowerShell segítségével.
Listázza ki az összes telepített Windows Server szerepkört és szolgáltatást a PowerShell segítségével
Felhasználó a
Get-WindowsFeatureparancsmagot az összes elérhető Windows Server szerepkör és szolgáltatás listájának megjelenítéséhez. Ha paraméterek nélkül futtatja, látni fogja a Windows Server összes összetevőjére vonatkozó információkat.
Megjelenik az összetevő neve (Display Name), rendszerneve (Name) és állapota (Telepítési állapot: Telepítve, Elérhető vagy Eltávolítva). A szerepkörök és szolgáltatások listája úgy néz ki, mint egy fa, amelyben a beágyazott szerepkörök hasonlóak ahhoz, amelyet a szerepkörök Kiszolgálókezelő grafikus felületén történő telepítésekor láthat. Bármely szerepkör vagy szolgáltatás PowerShell használatával történő telepítéséhez és eltávolításához ismernie kell a rendszernevüket a Név oszlopban.
Tipp. Ha egy szerepkör vagy egy szolgáltatás Eltávolítva, az azt jelenti, hogy a telepítőfájljai el lettek távolítva a rendszerkomponens sote-ból (a WinSxS mappa méretének csökkentése érdekében), és nem tudja telepíteni a szerepkört anélkül, hogy közvetlen internet-hozzáférés vagy Windows Server telepítési ISO (lásd a példát a .Net 3.5 telepítésével).
Az alábbi módon távolíthat el szerepeket vagy összetevőket a képből online:
Uninstall-WindowsFeature -Name DHCP -RemoveEltávolított DHCP-szerepkör telepítéséhez használja ezt a parancsmagot:
Install-WindowsFeature DHCP(közvetlen internet hozzáférésre lesz szüksége)
Vagy visszaállíthatja az összetevő bináris fájlokat a Windows Server ISO lemezképéből:
Install-WindowsFeature DHCP -Source E:\sources\sxsFelsorolhatja a telepített szerver szolgáltatásait:
Get-WindowsFeature | Where-Object {$_. installstate -eq "installed"} | ft Name,InstallstateAz alábbi képernyőkép alapján ez a kiszolgáló fájlszerverként használatos (FileAndStorage-Services, Storage-Services szerepkörök telepítve). A legtöbb egyéb összetevő a kiszolgáló kezelésére vagy figyelésére szolgál.
Ha nem ismeri pontosan a szerep nevét, használhat helyettesítő karaktereket. Például annak ellenőrzéséhez, hogy az IIS szerepkör mely webes összetevői vannak telepítve, futtassa ezt a parancsot (a szintaxis egy kicsit le van rövidítve):
Get-WindowsFeature -Name web-* | Where installed
A távoli Windows Serverre telepített összetevők listáját megtekintheti:
Get-WindowsFeature -ComputerName ny-spool1 | Where installed | ft Name,InstallstateA telepített Print-Services és Print-Server szerepkörök alapján ezt a szervert nyomtatószerverként használják.
A Get-WindowsFeature parancsmag segítségével megkeresheti a tartományában azokat a kiszolgálókat, amelyekre az adott szerepkör telepítve van. Kereshet a szerverein egy adott Active Directory szervezeti egységben a Get-ADComputer parancsmag segítségével a PowerShell ActiveDirectory modulból vagy a megadott kiszolgálólistán (
$servers = ('server1', 'server2')).
Például meg szeretné találni az összes FileAndStorage-Services szerepkörrel rendelkező fájlkiszolgálót a megadott AD szervezeti egységben (a Visual Studio Code-ot használom PoweShell-szerkesztőként). Használja a következő szkriptet:
import-module activedirectory
$Servers=get-adcomputer -properties * -Filter {Operatingsystem -notlike "*2008 R2*" -and enabled -eq "true" -and Operatingsystem -like "*Windows Server*"} -SearchBase ‘OU=Servers,OU=UK,DC=a-d,DC=com’ |select name
Foreach ($server in $Servers)
{
Get-WindowsFeature -name FileAndStorage-Services -ComputerName $server.Name | Where installed | ft $server.name, Name, Installstate
}A kimenetben megjelenik azon szerverek listája, amelyekre az adott szerepkör telepítve van.
Hogyan telepíthetek Windows Server szerepköröket és szolgáltatásokat a PowerShell segítségével?
A szerepek és szolgáltatások Windows Server rendszerre történő telepítéséhez az Install-WindowsFeature parancsmagot kell használni.
A DNS-kiszolgálói szerepkör és a felügyeleti eszközök (beleértve a Powershell DNSServer modult) telepítéséhez az aktuális kiszolgálón futtassa ezt a parancsot:
Install-WindowsFeature DNS -IncludeManagementToolsAlapértelmezés szerint a parancsmag telepíti az összes függő szerepet és szolgáltatást. A függőségek listájának a telepítés előtti megjelenítéséhez használja a lehetőséget
WhatIfInstall-WindowsFeature -Name UpdateServices -WhatIfPéldául a WSUS-szerepkör telepítéséhez néhány IIS-összetevőt is telepítenie kell.
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.A Remote Desktop Session Host szerepkör, az RDS licencszerep és az RDS távfelügyeleti eszközök telepítéséhez használja a következő parancsot:
Install-WindowsFeature -ComputerName lon-rds3 RDS-RD-Server, RDS-Licensing -IncludeAllSubFeature -IncludeManagementTools -RestartHa hozzáadja a
-Restartparamétert, a szerver szükség esetén automatikusan újraindul.
A következő paranccsal is telepíthet egy összetevőt. Például az SMTP-kiszolgálói szerepkör telepítéséhez:
Get-WindowsFeature -Name SMTP-Server | Install-WindowsFeatureHogyan telepíthetek szerepeket több távoli Windows-kiszolgálóra?
Van egy másik érdekes lehetőség is, amikor tipikus kiszolgálókat telepít. Telepítheti a kívánt szolgáltatásokat egy referencia Windows Serverre, és exportálhatja a telepített szerepkörök listáját egy CSV-fájlba:
Get-WindowsFeature | where{$_.Installed -eq $True} | select name | Export-Csv C:\PS\InstalledRoles.csv -NoTypeInformation -VerboseEzután a CSV-fájl segítségével telepítheti ugyanazt a szerepkört más tipikus kiszolgálókra:
Import-Csv C:\PS\Roles.csv | foreach{ Install-WindowsFeature $_.name }Ha egy szerepkör vagy szolgáltatás már telepítve van, a parancs a NoChangeNeeded eredményt adja vissza, és folytatja a következő szerepkör telepítését.
Vagy ha ugyanazt a szerepkörkészletet több távoli kiszolgálóra szeretné telepíteni, használja ezt a parancsot:
$servers = ('ny-rds1', 'ny-rds2',’ny-rds3’,’ny-rds4’)
foreach ($server in $servers) {Install-WindowsFeature RDS-RD-Server -ComputerName $server}Hogyan távolíthatunk el egy szerepkört vagy szolgáltatást a Windows Server rendszeren a PowerShell segítségével?
A Windows Server szerepkörök vagy szolgáltatás eltávolításához a Remove-WindowsFeature parancsmagot kell használni.
Például egy nyomtatókiszolgálói szerepkör eltávolításához futtassa a következő parancsot:
Remove-WindowsFeature Print-Server -Restart






