Scripts

Set-Location: Verzeichnis und Registry-Position wechseln in PowerShell

Zu den fundamentalen Kommandos in jeder interaktiven Shell gehören jene, mit denen man sich durch Verzeichnisbäume bewegen kann. In PowerShell dient das Cmdlet Set-Location diesem Zweck, wobei es auch in der Lage ist, durch die hierarchische Datenbank der Registry zu navigieren. Ergänzend zu Set-Location gibt Get-Location Auskunft über das aktuelle Verzeichnis. Pop-Location und Push-Location verwalten den Stack für gespeicherte Directories.

Weiterlesen »

Get-WmiObject: PowerShell für WMI-Abfragen nutzen

Mittels Windows Management Instrumentation (WMI) lässt sich eine Fülle von Informationen über einen Rechner abrufen, von seiner Hardware- und Softwareausstattung über Log-Einträge bis zu den User-Konten. Für WMI-Abfragen aller Art ist in PowerShell Get-WmiObject zuständig, das im Zusammenspiel mit anderen Cmdlets die ermittelten Daten nach Belieben aufbereiten und ausgeben kann.

Weiterlesen »

Send-MailMessage: E-Mails versenden mit PowerShell

Ohne Auswahl eines Zeichensatzes werden Umlaute und Sonderzeichen verstümmeltSeit der Version 2.0 besitzt PowerShell ein eigenes Cmdlet zum Versand von E-Mails. Es ist relativ einfach, ihm die Elemente einer Nachricht als Parameter zu übergeben und sich interaktiv am SMTP-Server zu authentifizieren. Trickreicher wird die Sache jedoch, wenn man Mails ohne Intervention eines Benutzers aus einem Script versenden möchte.

Weiterlesen »

Copy-Item, Move-Item: Dateien kopieren und verschieben mit PowerShell

Powershell-LogoPowerShell bietet eine ganze Sammlung von Cmdlets für das Datei-Management. Für das Kopieren oder Verschieben von Dateien und Verzeichnissen sind Copy-Item bzw. Move-Item zuständig. Auch wenn die Befehle viele Optionen bieten, ist für grundlegende Features einige zusätzliche Handarbeit nötig.

Weiterlesen »

Authentifizierung und Verarbeitung von Credentials in PowerShell

PowerShell-Cmdlets ermöglichen für Zugriffe über das Netzwerk verschiedene Formen der Authentifizierung. Neben Kerberos, das standardmäßig für die Anmeldung an eine Domäne verwendet wird, ist die Authentifizierung über ein Paar aus Benutzername und Kennwort die gebräuchlichste Form der Authentifizierung (der Standardwert für den Authentication-Parameter, den es bei 18 der insgesamt 236 Cmdlets gibt, lautet „Default“). Bei allen auf WS-Management basierenden Cmdlets wie Invoke-Command oder New-PsSession ist über den CertificateThumbprint-Parameter auch eine Authentifizierung über ein Zertifikat möglich (allerdings kann dieses Zertifikat nur einem lokalen Benutzerkonto zugeordnet werden, was die Bedeutung dieser Authentifizierungsvarianten deutlich einschränkt).

Weiterlesen »

Registry-Schlüssel hinzufügen und löschen mit Powershell

Die Powershell verfügt über einen Provider für die Registrierdatenbank, so dass sich einzelne Teilbäume ("Hives") wie Laufwerke mounten lassen. Anschließend kann man durch die Verzeichnisstruktur navigieren wie im Dateisystem und dort neue Schlüssel anlegen oder vorhandene löschen.

Weiterlesen »

Test-Path: In PowerShell prüfen, ob eine Datei existiert

In fast jeder Script-Sprache kann man herausfinden, ob eine bestimmte Datei oder ein Verzeichnis vorhanden ist. Dies ist immer dann notwendig, wenn man nicht sicher sein kann, ob es das in einem Script benötigte Objekt tatsächlich gibt. PowerShell bietet zu diesem Zweck Test-Path, das nicht nur die Existenz einer Datei oder eines Verzeichnisses, sondern auch von Registry-Schlüsseln, Umgebungsvariablen oder Aliases verifizieren kann.

Weiterlesen »

Get-History: PowerShell-Befehle wiederholen auf der Kommandozeile

Wie jeder ordentliche Kommandointerpreter merkt sich auch PowerShell die während einer Sitzung eingegebenen Befehle, so dass man diese bei Bedarf zurückholen kann, ohne sie erneut eintippen zu müssen. Neben mehreren Funktionstasten helfen dabei einige Cmdlets, um die Befehlshistorie zu nutzen.

Weiterlesen »

Disk-Management mit PowerShell: initialisieren, partitionieren, formatieren

Powershell-LogoMicrosoft wertet PowerShell in Windows 8 und Server 2012 zum bevorzugten Management-Werkzeug auf, das mit neuen Modulen fast alle Aspek­te des Systems abdecken kann. Das trifft auch auf das Storage-Subsystem zu, das sich nun auf eine konsistente Weise via Kommando­zeile oder über Scripts verwalten lässt.

Weiterlesen »

Reguläre Ausdrücke (RegEx) in PowerShell verwenden

Reguläre Ausdrücke in PowerShellDie Unterstützung für reguläre Ausdrücke gehört zum Pflichtprogramm für eine moderne Script-Sprache. PowerShell bietet mehrere Sprachkonstrukte, die eine Verwendung von RegEx zulassen. Bei der syntaktischen Umsetzung orientierte sich Microsoft - anders als etwa bei Word - weitgehend an Perl, so dass für die meisten RegEx-erfahrenen Anwender der Lernaufwand gering bleibt.

Weiterlesen »