Scripts

    PowerShell-Version prüfen mit #requires und Systemvariablen

    $PSVersionTable gibt Auskunft über die Version von PowerShell.Die letzten Windows-Updates ent­hielten stets eine neue Ver­sion von Power­Shell, die den Funktions­umfang der Sprache meist deut­lich erwei­terte. In gemischten Umge­bungen kann man sich daher nicht darauf ver­lassen, dass alle verwendeten Cmdlets und sprach­liche Mittel auf jedem PC vorhanden sind. Eine Prüfung der Versions­nummer oder der Verfüg­barkeit von Befehlen ist hier angeraten.

    Arrays in PowerShell: anlegen, ändern, auslesen, sortieren, löschen

    Arrays in PowerShellWie fast jede moderne Script-Sprache kennt auch PowerShell den Datentyp Array. Er erfüllt auch hier die Aufgabe, zusammengehörige Werte in einer Variablen zu versammeln, wo man sie dann über einen Index ansprechen kann. Im Vergleich zu VBScript sind Operationen mit Arrays flexibler und in der Regel syntaktisch einfacher.

    PowerShell Plus: Kostenloser Editor inklusive Snippets und E-Book

    Idera bietet seit rund einem Monat seine Entwicklungsumgebung PowerShell Plus zum kostenlosen Download an. Die Software enthält sowohl einen Editor für die Entwicklung von Scripts als auch eine Konsole für die Zusammenstellung einzelner Befehle. Besonders nützlich sind die Möglichkeiten, um vorgefertigte Scripts und Snippets in die eigenen Projekte zu übernehmen.

    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 Sprach­kon­strukte, die eine Verwendung von RegEx zu­lassen. Bei der syntaktischen Umsetzung orien­tierte sich Microsoft - anders als etwa bei Word - weitgehend an Perl, so dass für die meisten RegEx-erfahrenen Anwender der Lernaufwand gering bleibt.

    Vergleichsoperatoren in PowerShell: -eq, -lt, gt, -contains, -like, -match

    Für bedingte Anweisungen oder Schleifen muss man in der Lage sein, Werte zu vergleichen, um abhängig davon den weiteren Fortgang eines Scripts zu bestimmen. PowerShell bietet wie alle anderen fortgeschrittenen Script-Sprachen sowohl if/else und switch als auch die dazugehörigen Vergleichsoperatoren. Allerdings orientiert sich Microsoft damit nicht an populären Sprachen aus dem Web- und Windows-Umfeld.

    Pfad von Dateien anzeigen mit where.exe

    Wenn auf einem PC mehrere Versionen eines Programms liegen, dann wird beim Aufruf über die Kommandozeile jene ausgeführt, die im Suchpfad weiter vorne ist. Unter Unix/Linux gibt es deshalb schon lange das which-Kommando, das herausfindet, welches Programm tatsächlich gestartet wird. Das Gegenstück unter Windows ist where, das aber auch noch weitere Aufgaben übernehmen kann.

    Microsoft Script Explorer: Scripts und How-tos für Powershell finden

    Für Powershell existieren mittlerweile zahlreiche Ressourcen, seien es Code-Beispiele, Tutorials oder wiederverwendbare Module. Sie verteilen sich aber auf viele verschiedene Orte, sei es bei Microsoft selbst, auf Community-Websites oder auf firmeninterne Repositories. Der kostenlose Microsoft Script Explorer for Windows Powershell soll helfen, sich in dieser Unübersichtlichkeit zu orientieren und passenden Code sowie Anleitungen zu finden.

    Wo läuft ein Script: lokal, in einer VM oder auf dem Terminal-Server?

    Wenn sich ein Script auf einer Workstation anders verhalten soll als auf einem Server, oder auf einer physikalischen Maschine anders als in einer VM, dann muss man zwangsläufig während der Laufzeit herausfinden, in welcher Umgebung es ausgeführt wird. Besonders Batch-Dateien bieten zu diesem Zweck keine geeignete Mittel an, am ehesten eignen sich eventuell vorhandene eindeutige Umgebungsvariablen. Einfacher und verlässlicher funktioniert es mit dem kostenlosen MachineTypeCheck von Gridmetric.

    Mails aus Batch-Dateien verschicken mit Blat

    Es gehört zum Standardrepertoire von Monitoring-Tools, dass sie beim Auftreten bestimmter Ereignisse Mails an den Admin versenden. Auch die Ereignisanzeige von Windows ist dazu in der Lage. Darüber hinaus kann es aber auch notwendig sein, dass man Nachrichten aus eigenen Scripts heraus versendet. Windows bietet kein Kommandozeilen-Tool, das diese Aufgabe in Batch-Dateien übernehmen kann. Das Open-Source-Programm Blat füllt die Lücke.

    Profile in PowerShell: Module und Funktionen laden, Variablen setzen

    Powershell-LogoFast jeder Kommandointerpreter bietet die Möglichkeit, gleich beim Start eine vom Benutzer gewünschte Konfiguration zu laden und sich somit an individuelle Vorgaben anzupassen. Das gilt auch für die PowerShell, die gleich mehrere Profildateien ausliest, um Einstellungen für verschiedene Geltungsbereiche zu übernehmen. Zulässig ist praktisch alles, was die PowerShell ausführen kann.

    Seiten