In Schale geworfen

Teil 13: Die neue PowerShell einsetzen

6.3.2007 von Redaktion pcmagazin und Tobias Weltner

ca. 1:20 Min
Ratgeber
  1. Die neue PowerShell einsetzen
  2. Teil 2: Die neue PowerShell einsetzen
  3. Teil 3: Die neue PowerShell einsetzen
  4. Teil 4: Die neue PowerShell einsetzen
  5. Teil 5: Die neue PowerShell einsetzen
  6. Teil 6: Die neue PowerShell einsetzen
  7. Teil 7: Die neue PowerShell einsetzen
  8. Teil 8: Die neue PowerShell einsetzen
  9. Teil 9: Die neue PowerShell einsetzen
  10. Teil 10: Die neue PowerShell einsetzen
  11. Teil 11: Die neue PowerShell einsetzen
  12. Teil 12: Die neue PowerShell einsetzen
  13. Teil 13: Die neue PowerShell einsetzen
  14. Teil 14: Die neue PowerShell einsetzen
  15. Teil 15: Die neue PowerShell einsetzen

Wer bereits erste Schritte in der neuen Microsoft- Programmierwelt .NET unternommen hat, kann mit diesem Wissen die PowerShell sogar erweitern. Möglich sind ebenso eigene neue Commandlets wie eigene Provider, die es dem dir-Befehl zum Beispiel ermöglichen, auch das Active Directory zu durchsuchen.

Die neue PowerShell einsetzen
© Archiv

Neue Commandlets zu generieren ist nicht schwierig und gelingt mit reinen Bordmitteln. Die PowerShell kümmert sich dabei um Einund Ausgabe sowie das Objekt-Piping, so dass sich der Autor eines neuen Commandlets bequem zurücklehnen und auf die reine Funktionalität konzentrieren kann, die "sein" neues Commandlet liefern soll.

Das folgende Listing zeigt das Grundgerüst eines einfachen neuen Commandlets namens get-random, das eine Zufallszahl liefert:

using System;
using System.Management.Automation;
// GetRandom.cs
// <>summary>
// Ein Zufallszahlengenerator
// <>summary>
[Cmdlet("get", "random")]
public class GetRandomCommand :
Cmdlet
{
protected override void
EndProcessing()
{
Random r = new Random();
WriteObject(r.Next());
}
}

Der überwiegende Teil des Codes ist formaler Rahmenbau. Wirklich interessant ist nur die Funktion EndProcessing, die das Ergebnis des Commandlets zurückmeldet. Dazu beschafft sich das Commandlet einen Zufallszahlengenerator und meldet über WriteObject diese Zahl zurück an die PowerShell.

Diese Logik kann man übrigens auch direkt in der PowerShell testen, denn als .NET-Anwendung hat man auch von hier aus vollen Zugriff auf alle .NET-Klassen:

(new-object random).next

Damit aus dem Quellcode nun aber eine .NET-DLL wird, muss er kompiliert werden. Auch das leistet die PowerShell:

$ref =
"$MSHHOME/System.Management.Automation.
dll"
$compiler =
"$env:windir/Microsoft.NET/Framework/v2
.0.50727/csc" &$compiler /target:library /r:$ref
GetRandom.cs

Dabei werden zunächst zwei Variablen definiert: $ref liefert den Pfad zur PowerShell-Bibliothek und $compiler den zum Compiler.

Um den Compiler aufzurufen, bedient sich die PowerShellwieder eines schicken Tricks: Über das&-Zeichen kann der Inhalt einer Variablen ausgeführt werden, so als hätte man diesen von Hand eingegeben. &$compiler ruft also den in $compiler gespeicherten Befehl auf.

Mehr lesen

Chronologische Liste und Netflix-Links

Marvel-Filme- und -Serien: Das ist die richtige Reihenfolge

Neuerscheinungen in der Übersicht

Netflix: Neue Filme und Serien

Vorschau auf Film- und Serien-Highlights

Amazon Prime Video: Neuheiten

Weiter zur Startseite  

Mehr zum Thema

Lizenzschlüssel / Software-Produktschlüssel (Symbolbild)

So geht's

Lizenzschlüssel auslesen und Software neu installieren

Sie wollen ein Programm neu installieren, finden aber den Lizensschlüssel nicht? Wir zeigen Ihnen wie Sie den Programmkey bequem auslesen können.

Excel: Nur jede n-te Zelle addieren

Office-Tipps für Einsteiger

Excel: Nur jede n-te Zelle addieren

Nicht selten muss man aus Spalten oder Zeilen nur jede zweite, dritte, vierte ... Zelle addieren. Mit einer Formel geht das sehr einfach.

PC schneller machen: Tuning für RAM & CPU

PC-Leistungstest

Die besten Benchmark-Tools, die Ihren PC ausreizen

Wie stark ist Ihr PC? Aufschluss geben Benchmarks. Wir zeigen Ihnen, mit welchen Tools und Downloads Sie Ihren PC einem fordernden Leistungstest…

Gimp,Tricks,Bilderbearbeitung,Tipps,Tutorial

Photoshop-Alternative

Gimp Tutorial: Erste Schritte für bessere Bilder

Das Bildbearbeitungsprogramm Gimp ist eine kostenlose, komfortabele Alternative zu Photoshop. In unserem Tutorial geben wir Tipps für Einsteiger.

whatsapp alternativen

Für Android, iPhone, iPad & Co.

Whatsapp Alternativen: Die 10 besten Messenger-Apps

Es gibt keine Whatsapp-Alternative? Quatsch! Diese Messenger-Apps für Android, iOS und PC sind der perfekte Ersatz.