Scripts

    Dateidatum in PowerShell ändern: Unix-Kommando touch nachbilden

    Das Unix-Dienstprogramm touch erfüllt zwei Aufgaben: Wendet man es auf existierende Dateien an, dann ändert es deren Zeitstempel. Sind die als Parameter angegeben Dateien nicht vorhanden, dann legt es sie mit einer Größe von 0 Byte an. PowerShell kennt kein Cmdlet mit exakt dieser Funktion, aber man kann sie relativ einfach nachbilden.

    Fehler in PowerShell vermeiden mit dem Strict Mode

    PowerShell Set-StrictModeWie die meisten dyna­mischen Programmier­sprachen lässt auch Power­Shell dem Benutzer viele Frei­heiten. Das ver­einfacht die schnelle Ent­wicklung kur­zer Scripts, fördert aber salop­pen Pro­grammier­stil und daraus resul­tierende Pro­bleme. Der Strict Mode beseitigt einige typische Fehler­quellen in PowerShell.

    Windows 10 automatisiert installieren mit der baramundi Management Suite

    baramundi OS InstallDie unbe­auf­sichtigte In­stal­lation mit Ant­wort­da­teien, ein seit XP gän­giges Ver­fahren für das OS-Deploy­ment, eig­net sich auch für die Migra­tion auf Win­dows 10. Wenn ein In-Place-Upgrade nicht in Frage kommt, dann las­sen sich bei hetero­gener Hard­ware damit die besten Ergeb­nisse erzielen.*

    Gültigkeitsbereich (Scope) von Variablen in PowerShell

    Gültigkeits­bereiche von PowerShell-VariablenWie in den meisten fort­geschrittenen Script- und Program­mier­sprachen hängt die Verfüg­barkeit von Varia­blen auch bei Power­Shell vom jewei­ligen Kon­text ab. Eine unglück­liche Wahl von Variablen­namen kann daher im Zusammen­spiel mit ver­schac­htelten Gültig­keits­bereichen zu ver­wirrenden Ergeb­nissen führen.

    Registry-Schlüssel auslesen mit Powershell

    Registry-IconPowershell kann die Registrier­datenbank als Lauf­werk (PSDrive) zugäng­lich machen. Dies erlaubt die Navi­gation durch die hierar­chische Struktur der Registry wie bei einem Ver­zeichnis­system. Dabei las­sen sich Schlüssel und ihre Werte relativ ein­fach auslesen, filtern und in ver­schiedenen For­maten darstellen.

    Dateiattribute anzeigen und bearbeiten mit PowerShell

    Dateiattribute im ExplorerUnter dem alten Kommando­interpreter cmd.exe kann man mit dem dir-Befehl und dem Dienst­programm attrib.exe die Attribute von Dateien recht unkompliziert ausgeben, filtern oder ändern. PowerShell hat dafür eigene Mecha­nismen, die aber etwas auf­wändiger sind und sich daher primär für Scripts eignen.

    IF, ELSE, SWITCH: Bedingte Anweisungen in PowerShell

    Powershell-LogoPraktisch jede proze­durale Programmier­sprache benötigt Konstrukte, die Anweisungen abhängig vom Zutreffen bestimmter Bedingungen auszu­führen. Dafür haben sich if/else und switch einge­bürgert, die auch PowerShell unter­stützt. Im Vergleich zu anderen Script-Sprachen zeigt sie jedoch einige syntak­tische Eigen­heiten.

    PowerShell-Funktionen mit Parametern aufrufen

    Parameter in einer PowerShell-Funktion definierenBeim Auf­ruf von Funk­tionen mit Para­metern unter­scheidet sich die PowerShell syntak­tisch von den meisten anderen Sprachen. Der ver­sehent­liche Ein­satz von Klam­mern und Kommata führt dann zu uner­wün­schten Ergeb­nissen. Diese kann man durch die Akti­vierung des Strict-Mode und benannte Para­meter ver­meiden.

    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.

    Große Dateien finden mit PowerShell

    Große Dateien finden mit PowerShellWenn der Speicher­platz auf einem Lauf­werk knapp wird, dann möchte man wahr­scheinlich wissen, ob einige dicke Brocken dafür verant­wortlich sind, auf die man even­tuell ver­zichten kann. Für diese Auf­gabe gibt es einige kosten­lose Tools, aber dank Power­Shell kann man sich ihre Instal­lation sparen.

    Schleifen in PowerShell: For, Foreach, While, Do-Until, Continue, Break

    Powershell-LogoWie die meisten proze­duralen Programmier­sprachen verfügt PowerShell über eine ganze Palette von Schleifen­konstruk­tionen sowie ergän­zende Anwei­sungen zur Steuerung von Itera­tionen. Eine Besonder­heit besteht darin, dass neben foreach noch Foreach-Object existiert, um über Elemente eines Arrays zu iterieren.

    Seiten