Erste Schritte mit der Windows PowerShell

PowerShell, Programmierung Keine Kommentare »

Wie gesagt beschäftige ich mich gerade wenn etwas Zeit ist mit der Windows PowerShell. Einen ganz schönen Einsteiger-Workshop gibt es von Frank Koch, den ich gerade durcharbeite. Ein erstes kleines Skript ist dabei auch schon heraus gekommen - eine HTML-Seite mit den Windows-Services, sortiert nach Status (stopped oder running) und entsprechend dem Status farblich hinterlegt:

[UPDATE: Da das Syntax-Highlighting leider die Darstellung im Internet Explorer versaut, habe ich das kleine Skript erstmal entfernt. Wer sich dafür interessiert, findet es in dem Workshop von Frank Koch]

Sicherlich noch nicht die Monster-Anwendung, aber ich finde es schon ziemlich cool - und bin sehr gespannt, was die PowerShell noch so alles kann.

Windows PowerShell

Programmierung Keine Kommentare »

Um mittels NaturalDocs automatisch eine Dokumentation zu erstellen, muss auf der Kommandozeile eine ganze Latte an Argumenten übergeben werden: Das Verzeichnis, in dem der zu dokumentierende Quelltext steht, das Ausgabeverzeichnis für die Doku und ein Verzeichnis für die Konfiguration. Praktisch sieht ein Aufruf von NaturalDocs bei mir ungefähr so aus:

F:\Software\NaturalDoc\NaturalDocs.bat -i c:\xampp\htdocs\meinProjekt -o HTML c:\xampp\htdocs\meinProjekt\_dokumentation\output -p c:\xampp\htdocs\meinProjekt\_dokumentation\config -cs UTF-8

So einen Aufruf automatisiert man doch. Also mal schnell eine kleine .bat-Datei geschrieben - und dabei festgestellt, dass ich a) die Syntax gar nicht mehr drauf habe (unter DOS habe ich regelmäßig Batch-Dateien geschrieben) und b) die guten alten .bat-Dateien sowas von beschränkt sind…

Daher habe ich mir die Windows PowerShell 1.0 herunter geladen. Startet man die PowerShell, sieht sie auf den ersten Blick genau so aus, wie die gute alte cmd.exe in blau. Aber davon darf man sich nicht täuschen lassen - das Teil ist mächtig. Richtig mächtig.

Die integrierte Skriptsprache hat erstmal alle Basics an Bord - arithmetische Operationen, reguläre Ausdrücke, Schleifen, Fallunterscheidungen, … Wem das nicht reicht, kann immer noch analog zu WSH-Skripten sämtliche COM- und ActiveX-Objekte nutzen. Und wenn man dort an die Grenzen stößt - es stehen auch alle Klassen und Funktionen des .NET-Frameworks zur Verfügung. Es dürfte sich eigentlich keine Automatisierung finden, die nicht mittels Windows PowerShell gelöst werden könnte.

Ich werde mich jedenfalls mal so richtig intensiv mit der Shell beschäftigen. Ergebnisse hier ;)