Weboldal keresés

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-WindowsFeature

parancsmagot 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 -Remove

Eltá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\sxs

Felsorolhatja a telepített szerver szolgáltatásait:

Get-WindowsFeature | Where-Object {$_. installstate -eq "installed"} | ft Name,Installstate

Az 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,Installstate

A 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 -IncludeManagementTools

Alapé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

WhatIf
Install-WindowsFeature -Name UpdateServices -WhatIf

Pé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 -Restart

Ha hozzáadja a

-Restart

paramé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-WindowsFeature

Hogyan 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 -Verbose

Ezutá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

Kapcsolódó cikkek