Nattavut - stock.adobe.com

Vier PowerShell-Module, die Sie als IT-Profi kennen sollten

Wir erklären, wie Sie vier der beliebtesten PowerShell-Community-Module aus der PowerShell-Galerie verwenden, um bestimmte Aufgaben schneller zu erledigen und zu automatisieren.

Die PowerShell-Community ist sehr lebendig. Viele ihrer Entwickler tragen neue Cmdlets und Skripte zum Open Source PowerShell Core bei und erstellen PowerShell-Module, die Prozesse und die Verwaltung von Rechenzentren automatisieren.

Die meisten Community-Module finden Sie im zentralen Repository von PowerShell, der PowerShell Gallery. Sie finden zufällige Module oder Skripte auf GitHub.

PSWindowsUpdate-Modul

Das Bereitstellen von Windows-Updates mit Code ist nie eine einfache Aufgabe; das Modul PSWindowsUpdate hilft dabei. Mit diesem Modul können Sie den Update-Installationsverlauf und ausstehende Updates anzeigen, Updates deinstallieren, lokale Updates installieren und Updates per Fernzugriff installieren.

Eines der besonders nützlichen Cmdlets in PSWindowsUpdate ist Get-WULastResults, mit dem Sie das letzte Ergebnis einer Windows-Update-Suche und den Installationsstatus abrufen.

Die Ausgabe des Get-WULastResults-Cmdlets
Abbildung 1: Das Cmdlet Get-WULastResults zeigt die letzten Installationen an.

Das Cmdlet Get-WUInstall installiert Updates und kann sogar nach bestimmten Update-Kategorien und Knowledge Base Updates (KB) filtern. In Abbildung 2 sehen Sie, wie das Modul das Update KB4034658 installiert:

Die PowerShell-Ausgabe des Get-WULastResults-Cmdlets
Abbildung 1: Das Cmdlet Get-WULastResults zeigt die letzten Installationen an.

Eine ausführliche Anleitung zum Einsatz dieses Moduls finden Sie hier.

PoshWSUS-Modul

PoshWSUS ist ein Modul zum Steuern der immer noch beliebten Windows Server Update Services. Mit diesem Modul können Sie auf dem WSUS-Server installierte Updates suchen, Updates genehmigen oder ablehnen und WSUS-Konfigurationen ändern.

Es gibt eine praktische Möglichkeit, Windows Preview Updates automatisch zu verhindern. In diesem Beispiel sucht das Skript auf dem WSUS-Server nach allen Updates, die die Zeichenfolge Preview of enthalten und nicht bereits abgelehnt wurden, und leitet diese an Deny-PoshWSUSUpdate weiter.

PowerShell-Befehl zum automatisieren von Preview-Updates in der PowerShell-Konsole
Abbildung 3: Dieser PowerShell-Befehl automatisiert das Ablehnen von Preview-Updates.

Eine weitere wichtige WSUS-Aufgabe, die sich mit diesem Modul automatisieren lässt, ist das Synchronisieren von Updates zwischen den Microsoft-Servern und Ihrem internen WSUS-Server. Dies können Sie mit dem Cmdlet Start-PoshWSUSSync bewerkstelligen:

Ein Skript in der PowerShell-Konsole zum synchronisieren zwischen lokalen und Microsoft-Servern
Abbildung 4: So automatisieren Sie die Synchronisierung zwischen Ihren lokalen und Microsoft-Servern.

Mit PowerShell können Sie Cmdlets auch einfach zu Skripten kombinieren. So können Sie beispielsweise WSUS synchronisieren und dann Ihr System so einstellen, dass alle Updates abgelehnt werden.

Carbon-Modul

Carbon ist ein beliebtes Modul – und das aus gutem Grund. Es eignet sich nämlich für viele verschiedene Aufgaben. Carbon interagiert mit Benutzern, Websites, Zertifikaten, Diensten, Hostdateien, Dateiberechtigungen und anderen Bereichen in Windows.

Ein besonders wichtiges Cmdlet aus dem Modul ist Get-CProgramInstallInfo, das in seinen Funktionen ungefähr dem Fenster Programme und Funktionen in der Windows-Benutzeroberfläche entspricht.

Das folgende Beispiel zeigt, wie Sie Informationen über eine lokale Google Chrome-Installation abrufen. In diesem Beispiel sehen Sie nützliche Informationen, wie zum Beispiel das Installationsdatum, die Sprache, die Installationsquelle und die Deinstallationszeichenfolge. Beachten Sie, dass der Deinstallationsstring der Befehl ist, mit dem Sie die Software vom System deinstallieren.

Das Carbon-Modul in der PowerShell-Konsole
Abbildung 5: Mit dem Carbon-Modul rufen Sie schnell nützliche Informationen über das System ab.

Für viele Anwendungen müssen Sie das .NET Framework auf einem System installieren. Mit Carbon prüfen Sie mit dem Cmdlet Test-CDotNet, welche Version Sie installiert haben.

Die .NET-Version in der PowerShell-Ausgabe
Abbildung 6: In der Ausgabe sehen Sie, welche Version von .NET Sie installiert haben.

NTFSSecurity-Modul

Obwohl PowerShell über native Unterstützung für die Arbeit mit NTFS-Dateiberechtigungen verfügt, bietet das NTFSSecurity-Modul einen benutzerfreundlicheren und intuitiveren Ansatz.

IT-Administratoren müssen oft die effektive Berechtigung eines Benutzers für eine Datei oder einen Ordner herausfinden. Die effektive Berechtigung ergibt sich aus der Gruppenmitgliedschaft eines Benutzers, vererbten Berechtigungen, verschachtelten Gruppen und verweigerten Berechtigungen.

In Abbildung 7 sehen Sie, wie das Cmdlet Get-NTFSEffectiveAccess die effektive Berechtigung des lokalen Pfads c:\temp ermittelt:

Die Berechtigungen für den lokalen Pfad in der PowerShell-Ausgabe
Abbildung 7: In der Ausgabe erkennen Sie, welche Berechtigungen der lokale Pfad c:\temp hat.

Eine weitere häufige Aufgabe ist das Festlegen der Eigentumsrechte für eine Datei oder einen Ordner mit NTFS. Hier ist der Ordner c:\temp auf Dan als Eigentümer eingestellt. Anschließend zeigen Sie mit Get-NTFSSOwner den aktuellen Eigentümer an.

Der Eigentümer in der PowerShell-Ausgabe
Abbildung 8: PowerShell gibt den aktuellen Eigentümer von c:\temp an.

Es gibt mehr als 3.000 Module in der PowerShell Gallery, und die PowerShell-Community veröffentlicht ständig neue Methoden zum Verwenden von PowerShell für die Automatisierung.

Wenn Sie mit einem Rechenzentrumssystem interagieren müssen, gibt es mit großer Wahrscheinlichkeit ein PowerShell-Modul.

Erfahren Sie mehr über Serverbetriebssysteme