Scripts

Netzlaufwerke anzeigen, freigeben, verbinden und trennen mit PowerShell

Windows-Ordner freigebenWindows 8 und Server 2012 brachten ein neues Modul namens SmbShare, das meh­rere Cmdlets zur Bearbeitung von Netzwerk­freigaben enthält. Zu den Aufgaben, die sich damit erledigen lassen, zählen das Erstellen, Konfigu­rieren und Löschen von Freigaben sowie das Zuordnen und Entfernen von Laufwerks­buchstaben.

Weiterlesen »

Text seiten- oder zeilenweise ausgeben in PowerShell: more, less, head, tail

Texte seitenweise ausgeben mit moreGibt man große Textdateien oder lange Ergeb­nisse eines Cmdlets am Bildschirm aus, dann rauscht der Inhalt ungebremst durch das Konso­len­fenster. Damit man den Output seiten­weise ansehen kann, haben sich unter Unix Pager wie more oder less etabliert. Ähnliche, wenn auch weniger mächtige Tools, bietet auch PowerShell.

Weiterlesen »

Strings in PowerShell: Ersetzen, Vergleichen, Zusammenfügen, Split, Substring

String-Manipulation in PowerShellDas Bearbeiten von Strings gehört zu den häufigsten Operationen in Script-Sprachen. Während althergebrachte Tools wie Batch-Dateien und VBScript solche Aufgaben oft nur umständlich bewältigen können, bietet PowerShell das ganze Inventar an Funktionen, die man etwa von Javascript oder PHP kennt.

Weiterlesen »

Dateien vergleichen in PowerShell

Dateien vergleichen mit PowerShellPowerShell bietet mehrere Möglichkeiten, um Dateien auf ihre Gleichheit bzw. auf Ab­weichungen zu unter­suchen. Abhängig davon, ob man mit der bloßen Information zufrieden ist, dass zwei Dateien (nicht) identisch sind oder ob man die Unterschiede im Einzelnen sehen möchte, verwendet man Get-FileHash oder Compare-Object.

Weiterlesen »

Set-Location, pushd, popd: 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 »

Mitgliedschaft eines Users in Active-Directory-Gruppen ausgeben

Ein AD-User kann neben seiner primären Gruppe Mitglied in anderen Gruppen sein. Dafür gibt es im AD die Attribute PrimaryGroup und MemberOf, die per Get-AdUser gemeinsam abgefragt werden. Die Abfrage selber ist sehr einfach, die Schwierigkeit für alle, die bei der PowerShell erst am Anfang stehen besteht darin, die Namen zu einer einzigen Ausgabe zusammenzufassen.

Weiterlesen »

Gültigkeitsbereich (Scope) von Variablen in PowerShell

Gültigkeits­bereiche von PowerShell-VariablenWie in den meisten fortgeschrittenen Script- und Program­mier­sprachen hängt die Verfügbarkeit von Variablen auch bei PowerShell vom jeweiligen Kontext ab. Eine unglückliche Wahl von Variablennamen kann daher im Zusammenspiel mit verschachtelten Gültigkeits­bereichen zu verwirrenden Ergebnissen führen.

Weiterlesen »

Ausstehende Reboots nach Updates prüfen mit PowerShell und reg.exe

Windows macht auf einen bevorstehenden Neustart aufmerksam.Die meisten Windows-Updates erfordern einen Neustart des Systems. Während dieser auf dem Client per Voreinstellung automatisch erfolgt und der Benutzer ausgiebig darauf hingewiesen wird, sind die Verhältnisse auf dem Server nicht immer so offensichtlich. Will man sich Klarheit über anstehende Reboots verschaffen, dann kann man dies (besonders unter Server Core) via Kommandozeile tun.

Weiterlesen »

Hyper-V: Nicht benutzte VMs finden mit PowerShell

Letztes Einschalten einer VM mit PowerShell ermitteln.Neue virtuelle Ma­schi­nen lassen sich mit geringem Aufwand ein­richten, so dass man sie oft nur für den kurzfristigen Gebrauch erstellt. Anschließend geraten solche VMs leicht in Vergessenheit. Mit PowerShell kann man anzeigen, wann eine VM das letzte Mal ein- oder ausgeschaltet wurde.

Weiterlesen »

Zufallszahlen, temporäre Dateinamen und GUIDs erzeugen in PowerShell

ZufallszahlenIn Scripts benötigt man gelegentlich zufällig generierte Werte, seien es Zahlen, Namen für temporäre Dateien oder GUIDs für eindeutige Registry- bzw. Datenbank­schlüssel. PowerShell bietet eigene Funktionen für solche Zufallswerte.

Weiterlesen »