Scripts
Fehler in PowerShell vermeiden mit dem Strict Mode
Wie die meisten dynamischen Programmiersprachen lässt auch PowerShell dem Benutzer viele Freiheiten. Das vereinfacht die schnelle Entwicklung kurzer Scripts, fördert aber saloppen Programmierstil und daraus resultierende Probleme. Der Strict Mode beseitigt einige typische Fehlerquellen in PowerShell.
Dateiattribute anzeigen und bearbeiten mit PowerShell
Unter dem alten Kommandointerpreter cmd.exe kann man mit dem dir-Befehl und dem Dienstprogramm attrib.exe die Attribute von Dateien recht unkompliziert ausgeben, filtern oder ändern. PowerShell hat dafür eigene Mechanismen, die aber etwas aufwändiger sind und sich daher primär für Scripts eignen.
Test: Microsoft-Updates und Patches von Drittherstellern mit Desktop Central verteilen
Desktop Central von ManageEngine ist ein mächtiges Tool für die Verwaltung von PCs und Mobilgeräten. Zu seinen Features gehört ein Patch-Management, mit dem sich nicht nur das OS, sondern auch zahlreiche Anwendungen aktualisieren lassen. Dazu zählen etwa Adobe Flash und Reader, Firefox oder Citrix Receiver.*
PowerShell-Funktionen mit Parametern aufrufen
Beim Aufruf von Funktionen mit Parametern unterscheidet sich die PowerShell syntaktisch von den meisten anderen Sprachen. Der versehentliche Einsatz von Klammern und Kommata führt dann zu unerwünschten Ergebnissen. Diese kann man durch die Aktivierung des Strict-Mode und benannte Parameter vermeiden.
Zertifikate mit PowerShell analysieren: ThumbPrint, Ablaufdatum, Aussteller, Private Key, Hash-Algorithmus
Zertifikate sind zweifellos eine kritische Komponente der IT-Infrastruktur. Laufen sie ab, dann kann dies zum Ausfall von Diensten führen. Wurden sie mit einem schwachen Hash-Algorithmus signiert, stellen sie ein Sicherheitsrisiko dar. Diese und andere Informationen lassen sich mit PowerShell effizient auslesen.
PowerShell-Scripts auf Best Practices prüfen mit dem ScriptAnalyzer
Die Entwickler des Open-Source-Projekts PSScriptAnalyzer haben die Version 1.17.1 ihres Code-Checkers für PowerShell veröffentlicht. Das Tool prüft Script-Code auf Basis von vordefinierten Regeln, die sich an den Best Practices orientieren. Neu ist die automatische Korrektur von bestimmten Abweichungen.
Measure-Object: Größe von Verzeichnissen und Dateien berechnen in PowerShell
Wenn man wissen möchte, welchen Umfang die Dateien in einem bestimmten Verzeichnis insgesamt haben, dann kann man dies relativ leicht im Explorer herausfinden. Benötigt man aber ein differenziertes Ergebnis, das beispielsweise einzelne Dateitypen zählt oder ausschließt, dann erweist sich PowerShell als das bessere Tool.
XML in PowerShell: XPath-Abfragen und Namespaces
Um Informationen aus XML-Dokumenten zu extrahieren gibt es mit XPath eine vom W3C standardisierte Abfragesprache. Damit kann man wesentlich komplexere Operationen ausführen als mit der Punkt-Notation von PowerShell. Umständlich wird XPath im Zusammenspiel mit Namespaces.
Module für Active Directory, Hyper-V, WMI laden in PowerShell Core 6
PowerShell Core 6 ist seit Anfang des Jahres verfügbar und soll die Basis für alle weiteren Entwicklungen von PowerShell sein. Aktuell fehlen der Core-Version jedoch die meisten Module zur Verwaltung von Windows. Diese muss man von Windows PowerShell importieren, was für einige wichtige Module nicht klappt.
XML in PowerShell: Elemente und Attribute auslesen, Textknoten anzeigen
XML hat sich als Format für strukturierte Informationen etabliert, beispielsweise für Konfigurationsdateien oder den Datenaustausch. PowerShell kann XML-Dokumente als Objekte ansprechen und XML-Elemente als deren Eigenschaften. Hinzu kommen zahlreiche Methoden für den Zugriff auf Elemente und Attribute.
Kommandozeile und Befehlshistorie in PowerShell bearbeiten mit PSReadline
GNU Readline ist eine Bibliothek mit Funktionen zur Bearbeitung von Befehls- und Programmzeilen. Microsoft hat sie für PowerShell adaptiert und so den Bedienkomfort der Konsole deutlich erhöht. Davon profitieren Anwender besonders beim Zugriff auf die Historie der Kommandos sowie bei der Autovervollständigung.