Links zu den Foren
   
PowerShell Anwendergruppe Forum
 
  Forum   Programmierung ...  Entwicklung vom...  Cmdlet im eigenen Cmdlet ausführen
Previous Previous
 
Next Disabled
New Post 12/15/2008 12:51 PM
  MistaJ
4 posts
No Ranking


Re: Cmdlet im eigenen Cmdlet ausführen  (Switzerland)

Hallo Forum

 

Vielen Dank für deine schnelle Antwort.

Das Beispiel funktioniert, leider aber nur mit einer foreach-Schleife:

       foreach (PSObject result in invoker.Invoke("get-process"))
      {
        Console.WriteLine("{0,-20} {1}",
                result.Members["ProcessName"].Value,
                result.Members["HandleCount"].Value);
      }

 

Voraussetzung ist die Setzung von einigen Zulassungen via Direktiven und der Setzung der Variable invoker:

      RunspaceInvoke invoker = new RunspaceInvoke();

(sollte es keine Variable sein, korrigiert mich bitte)

Leider ist es mir nicht gelungen, einen einfachen Befehl einzugeben, wie beispielsweise cd:

invoker.Invoke("cd");

fehler wird keiner angezeigt, kompiliert wird es aber nach der einbindung sagt er trotzdem nicht, er wolle das verzeichnis wechseln oder so...

was mache ich falsch? ist das überhaupt so möglich, wie ich mir das vorstelle?

danke für eure hilfe, super forum!

Schöne Grüsse

 
New Post 12/16/2008 12:32 PM
  Rolf
198 posts
www.powershell-ag.de
1st Level Poster


Re: Cmdlet im eigenen Cmdlet ausführen  (Germany)
Modified By Rolf  on 12/18/2008 9:16:16 AM)

Hallo Mista,

1. Ja, es ist eine Variable. Oder genauer (für die Programmierer) Es ist ein Objekt vom Typ RunspaceInvoker mit dem Namen invoker.
2. Mit dem Alias "cd" hast du ein unglückliches Händchen gehabt. cd ist der Alias für das Cmdlet set-location und ohne weitere Parameter wird nur der aktuelle Pfad auf den Stack gelegt. An der Kommanozeile siehst du da nichts was passiert.

Vorschlag: Nimm bitte das Cmdlet get-Childitem mit einem Pfad zu einem Ordner der ein paar Dateien enthält. Dann kannst du auf die Eigenschaften der zurückgegebenen Objekte zugreifen.

Wen du mir dein aktuelles VS2008 Projekt zukommen läßt, kann ich parallel mitmachen (sofern es meine Zeit erlaubt) und dir weiterhelfen.
Gruß
Rolf

 
Previous Previous
 
Next Disabled
  Forum   Programmierung ...  Entwicklung vom...  Cmdlet im eigenen Cmdlet ausführen