Scripts

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 »

Mit PowerShell in Dateien schreiben: Redirect, tee, Out-File, Set-Content

In Datei speichernEin gängiges Anliegen beim Arbeiten auf der Kommandozeile besteht darin, dass man die Ausgabe von Befehlen in eine Datei schreiben möchte. PowerShell unterstützt wie schon cmd.exe die Umleitung der Ausgabe, jedoch mit mehr Optionen. Hinzu kommen Cmdlets, die noch weitere Features bieten.

Weiterlesen »

Zugriffsrechte auf Freigaben anzeigen, ändern und entziehen mit PowerShell

Zugriffsrechte für SharesDas mit Windows 8 und Server 2012 einge­führ­te Modul SmbShare kann nicht nur Verzeich­nisse freigeben oder deren Freigabe wieder beenden, sondern bietet auch mehrere Cmdlets für die Verwal­tung der Zugriffsrechte.

Weiterlesen »

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 »