Wie man Windows Server-Rollen und -Features mit PowerShell verwaltet – einige praktische Tipps
Die Verwaltung von Rollen und Features auf Windows Server kann etwas umständlich sein, insbesondere über die grafische Benutzeroberfläche. Manchmal ist es einfach schneller, eine PowerShell-Sitzung zu starten und die Aufgaben über die Befehlszeile zu erledigen. Kein Warten auf das Laden der GUI, kein Klicken durch endlose Menüs. Wenn es Ihnen wie mir geht, bevorzugen Sie wahrscheinlich die Skripterstellung für Ihre Einrichtung – das erleichtert das Neuaufbauen oder Skalieren erheblich. Aber ehrlich gesagt, die richtigen Befehle zu finden, Abhängigkeiten zu verwalten oder Remote-Bereitstellungen durchzuführen, kann etwas knifflig sein, wenn man es nicht gewohnt ist. Daher folgt hier eine Zusammenfassung basierend auf praktischer Erfahrung mit einigen Tipps, die Ihnen die Arbeit etwas erleichtern.
Alle installierten Rollen und Features in Windows Server mithilfe von PowerShell auflisten
Wollten Sie schon immer wissen, was bereits installiert ist oder welche Funktionen verfügbar sind? Das Get-WindowsFeatureCmdlet ist hier genau das Richtige. Führen Sie es einfach ohne Parameter aus, und es listet alle installierten, verfügbaren und entfernten Rollen/Features auf. Die Ausgabe ähnelt einer Baumstruktur – Rollen sind unter Hauptkategorien verschachtelt, ähnlich wie im Server-Manager. Der Name ist entscheidend, wenn Sie etwas installieren oder entfernen möchten.– In einem typischen Szenario führen Sie folgenden Befehl aus: Get-WindowsFeature Es wird eine Liste mit Spalten wie Name, Anzeigename und Installationsstatus angezeigt. Wenn eine Rolle als „Entfernt“ markiert ist, hat das System die Installationsdateien entfernt, um Speicherplatz zu sparen (vergleichbar mit dem WinSxS-Ordner).Um diese Rolle neu zu installieren, führen Sie am schnellsten folgenden Befehl aus: Install-WindowsFeature -Name RoleName Falls die Dateien fehlen, können Sie auf Ihre ISO-Datei oder Netzwerkfreigabe verweisen: Denn Install-WindowsFeature -Name RoleName -Source E:\sources\sxs Windows macht es einem manchmal unnötig schwer. Um nur die installierten Rollen und Features zu erhalten, funktioniert diese praktische kleine Pipeline: Get-WindowsFeature | Where-Object {$_. InstallState -eq "Installed"} | Format-Table Name, InstallState -AutoSize Und wenn Sie den Status auf einem Remoteserver überprüfen möchten, fügen Sie den Parameter „-ComputerName“Get-WindowsFeature -ComputerName Server01 | Where-Object {$_. InstallState -eq "Installed"} hinzu: Ersetzen Sie einfach die Servernamen – das erleichtert die Verwaltung mehrerer Server erheblich.
So installieren Sie Rollen und Features über PowerShell – Die Praxis
Die Installation von Rollen ist unkompliziert, sobald man die Befehle verstanden hat. Wichtig ist vor allem die Verwendung von `npm install`.Install-WindowsFeatureAbhängigkeiten werden automatisch installiert. Um jedoch vor der Installation zu sehen, was passiert, führen Sie ` -WhatIfnpm install` aus und beobachten Sie die Ausführung. Beispiel: Um DNS und die zugehörigen Verwaltungstools hinzuzufügen: Install-WindowsFeature DNS -IncludeManagementTools Bei der Installation von Diensten wie WSUS, die von IIS abhängen, werden alle notwendigen Komponenten automatisch installiert. Es empfiehlt sich jedoch, `npm install` auszuführen, Install-WindowsFeature UpdateServices -WhatIf um die bevorstehenden Schritte zu überprüfen. Möchten Sie Rollen auf Remote-Servern installieren? Geben Sie einfach den Zielrechner an – kein Problem. Hier ein Beispiel: Install-WindowsFeature RDS-RD-Server -ComputerName NYC-RDS1 Bei optionalen Rollen oder Rollen mit Abhängigkeiten -IncludeAllSubFeaturehilft die Option `–require`, alle Komponenten gleichzeitig zu installieren. Manchmal ist ein automatischer Neustart des Servers nach der Installation erwünscht: Install-WindowsFeature DHCP -Restart Bei manchen Konfigurationen funktioniert dies problemlos. Sollte es beim ersten Versuch jedoch fehlschlagen, kann ein manueller Neustart oder die erneute Ausführung des Befehls nach Updates oder anstehenden Neustarts Abhilfe schaffen.
Rollen auf mehreren Remote-Servern bereitstellen – Batchverarbeitung zum Laufen bringen
Wenn Sie mehrere Server haben und eine einheitliche Konfiguration wünschen, ist das kein Problem. Exportieren Sie zunächst die Rollen und Funktionen Ihres aktuellen Servers in eine CSV-Datei.Get-WindowsFeature | Where-Object {$_. Installed -eq $true} | Select-Object Name | Export-Csv C:\PS\InstalledRoles.csv -NoTypeInformation Importieren Sie diese Liste anschließend auf die anderen Server – ganz einfach: Import-Csv C:\PS\Roles.csv | ForEach-Object { Install-WindowsFeature $_. Name } Besonders praktisch, wenn die gewünschten Rollen bereits auf Ihrem Referenzserver vorhanden sind. Alternativ können Sie einfach eine Liste der Rechner durchlaufen $servers = @('NY-RDS1', 'NY-RDS2', 'NY-RDS3') und den entsprechenden Befehl ausführen.foreach ($server in $servers) { Install-WindowsFeature RDS-RD-Server -ComputerName $server } Das funktioniert recht gut, aber beachten Sie, dass einige Server offline sein oder Probleme aufweisen könnten.Überprüfen Sie daher vorher deren Status.
Wie man Rollen und Features in PowerShell entfernt
Sie möchten Rollen bereinigen? Das Gegenteil von installieren ist entfernen Remove-WindowsFeature. Simpel, aber effektiv. Um beispielsweise eine Druckserverrolle zu entfernen: Remove-WindowsFeature Print-Server -Restart Der Parameter `-Restart` sorgt dafür, dass der Server bei Bedarf neu gestartet wird, was oft notwendig ist. Manchmal kann das Entfernen von Rollen zu anhaltenden Problemen führen, wenn Dienste noch ausgeführt werden oder Abhängigkeiten bestehen bleiben.Überprüfen Sie daher nach dem Entfernen immer, was übrig bleibt.
Zusammenfassend lässt sich sagen, dass die Verwaltung von Windows Server-Rollen über PowerShell schneller und skriptfähiger ist als die Navigation durch grafische Benutzeroberflächen. Allerdings ist sie auch etwas komplexer – Abhängigkeiten, Remote-Verwaltung, Quelldateien. Warum es manchmal funktioniert und manchmal nicht, ist mir ein Rätsel – eine alte Windows-Gewohnheit. Halten Sie die Befehle einfach griffbereit und testen Sie sie zunächst auf ein oder zwei Servern, bevor Sie umfangreiche Änderungen vornehmen. Normalerweise funktionieren die Befehle zum Installieren und Entfernen – mit etwas Vorsicht ist es deutlich weniger stressig als das Herumklicken.
Zusammenfassung
- Machen Sie sich mit dem System vertraut,
Get-WindowsFeatureum zu sehen, was installiert und verfügbar ist. - Dient
Install-WindowsFeaturezum Hinzufügen von Rollen mit Optionen für Abhängigkeiten und automatischen Neustart. - Mehrere Server lassen sich einfach per Skript mit Schleifen und CSV-Exporten verwalten.
Remove-WindowsFeatureBeim Bereinigen Rollen oder Features entfernen.
Zusammenfassung
Die Verwaltung von Serverrollen über PowerShell ist nicht perfekt, und manchmal hat man das Gefühl, Windows würde einem Steine in den Weg legen – insbesondere bei Abhängigkeiten oder fehlenden Dateien. Hat man den Dreh aber erst einmal raus, geht es deutlich schneller als das manuelle Herumklicken. Beachten Sie jedoch, dass Befehle auf manchen Servern hängen bleiben oder manuelle Eingriffe erfordern können. Planen Sie daher immer einen Neustart oder manuelle Überprüfungen ein. Ich hoffe, das beschleunigt Ihre Bereitstellungen und Bereinigungen – bei mir hat es schon mehrfach funktioniert, also hoffentlich auch bei Ihnen.