Die Unterschiede zwischen V1 und V2 – auf das Cmdlet genau

Die PowerShell 2.0 nimmt (endlich) Konturen an und wird mit Windows 7 aller Voraussicht nach in einigen Wochen offiziell werden (das PowerShell-Team bei Microsoft hält sich zu diesem Thema erstaunlich bedeckt – langsam wäre eine entsprechende Ankündigung fällig). Damit wird es langsam Zeit, einen Blick auf den Befehlssatz zu werfen. Immerhin gibt es 268-129=107 neue Cmdlets. Eine stolze Zahl, in die die 1000+ Cmdlets für den Umgang mit ActiveDirectory/Gruppenrichtlinien, die mit Windows Server 2008 R2 kommen werden, noch nicht eingerechnet sind. Auch wenn es sicher irgendwo eine Liste mit den neu hinzugekommen Cmdlets geben wird, als PowerShell-Anwender ist man es gewohnt, es selber zu machen. Schließlich ist bei der PowerShell praktisch alles auf irgendeine Weise abfragbar. Natürlich wäre es nett, wenn es bei einem CmdletInfo-Objekt, das hinter einem Cmdlet steckt, auch eine Version-Property gäben würde, doch das ist anscheinend nicht der Fall (es ist sogar definitiv nicht der Fall). Etwas mehr Aufwand kostet es daher doch.

Zuerst holt man sich unter einer V1-PowerShell die Liste aller Cmdlets:

$CmdletNamen=@();get-command -commandtype cmdlet | foreach-object { $CmdletNamen += $_.Name };$CmdletNamen | out-file Cmdletnamenv1.txt

Der Befehl ist etwas umständlicher, da ich wirklich nur die Namen möchte. Als nächstes wird in einer V2-Shell die Textdatei wieder eingelesen:

$V1 = get-content CmdletnamenV1.txt

Der folgende Befehl schreibt alle Cmdlets, die es nur in V2 gibt, in eine Textdatei:

(get-command -commandtype cmdlet) | where { $V1 -notcontains $_ } | Out-File CmdletNamenV2.txt

Compare-Object kommt für diesen Vergleich nicht in Frage, da hier zwei Dateien zeilenweise verglichen werden.

Schreibe einen Kommentar

Bitte logge dich mit einer dieser Methoden ein, um deinen Kommentar zu veröffentlichen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s