tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
1751
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Marshel87 Marshel87 ist offline Grünschnabel
    Registriert seit
    Apr 2008
    Beiträge
    2
    Hallo alle miteinander
    Bin ein blutiger Programmieranfänger und tüftel gerade an einem kleinen Programm, welches mir vorbestimmte Befehle in PowerShell ausführt... bei mir klappt das mit folgendem Code auch schon ganz gut

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    
    using System;
    using System.Text;
    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    using System.Management.Automation;
    using System.Management.Automation.Runspaces;
    using System.Management.Automation.Host;
     
    namespace ConsoleApplication2
    {
        class Program
        {
            static void Main(string[] args)
            {
                Runspace myRunSpace = RunspaceFactory.CreateRunspace();
                myRunSpace.Open();
     
                //1. Befehlsaufruf
     
                Pipeline pipeLine = myRunSpace.CreatePipeline();
                Command myCommand = new Command("Get-Command");
                pipeLine.Commands.Add(myCommand);
                Collection<PSObject> commandResults = pipeLine.Invoke();
     
     
                foreach (PSObject cmdlet in commandResults)
                {
                    string cmdletName = cmdlet.Properties["Name"].Value.ToString();
                    Console.WriteLine(cmdletName);
                }
     
                Console.WriteLine();
     
     
                //2. Befehlsaufruf
     
                Pipeline pipeLine2 = myRunSpace.CreatePipeline();
                Command myCommand2 = new Command("Get-ChildItem");
                pipeLine2.Commands.Add(myCommand2);
                Collection<PSObject> commandResults2 = pipeLine2.Invoke();
     
                foreach (PSObject cmdlet in commandResults2)
                {
                    string cmdletName = cmdlet.Properties["Name"].Value.ToString();
                    Console.WriteLine(cmdletName);
                }
     
                Console.ReadLine();
            }
        }
    }


    Ist halt erstmal nur der Funktion halber, damit ich sehe dass es auch funktioniert *gg* richtig gearbeitet wird da später dann mit wenn alles läuft.
    nur mein problem ist jetzt... ich habe die benötigte DLL für einen PowerShell zugriff als reference angegeben, und zwar die System.Management.Automation.dll.
    Laut meinen informationen reicht es wenn ich die DLL und die .exe in einen ordner packe um sie auszuführen.
    schicke ich nun die .exe und die .dll an einen anderen rechner und führe sie dort aus bekomme ich diese Exception mit der ich leider nichts anfangen kann...

    "Unbehandelte Ausnahme: System.Management.Automation.Runspaces.PSSnapInException:
    An error occurred when loading the system Windows PowerShell snap-ins. Please c
    ontact Microsoft Support Services. ---> System.Management.Automation.PSArgumentE
    xception: Unable to access Windows PowerShell registry information. ....usw."

    kann mir wohl jemand weiterhelfen was ich falsch gemacht oder vergessen habe?

    danke schonmal
    MfG
    Marcel
     

  2. #2
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Meinem Wissen entsprechend, muss die PowerShell auf dem Zielrechner schon auch installiert sein.

    Zu deinem Beitrag: Bitte halte dich an unsere Netiquette. Diese schreibt vor (ist übrigens bei der Eingabe des Beitrages fett zu lesen), dass auf eine korrekte Grammatik und Rechtschreibung (inkludiert Groß- und Kleinschreibung) zu achten ist.
     

  3. #3
    Marshel87 Marshel87 ist offline Grünschnabel
    Registriert seit
    Apr 2008
    Beiträge
    2
    PowerShell ist auf dem Zielrechner auch installiert.. war auch meine erste Vermutung, aber ist definitiv drauf.

    (Ja sorry Normal achte ich da nur bei Briefen und wichtigen Mails drauf Macht der Gewohnheit )
     

Ähnliche Themen

  1. [Powershell] Datei zeilenweise Auflisten
    Von Thomas Darimont im Forum CGI, Perl, Python, Ruby, Power Shell
    Antworten: 0
    Letzter Beitrag: 13.01.11, 00:01
  2. [Powershell]
    Von rkrause im Forum Sonstige Sprachen
    Antworten: 2
    Letzter Beitrag: 25.09.10, 19:50
  3. Powershell mit Adminrechten
    Von mschlegel im Forum Microsoft Windows
    Antworten: 0
    Letzter Beitrag: 25.10.07, 18:53
  4. PowerShell als Standard Shell einstellen?
    Von partitionist im Forum Microsoft Windows
    Antworten: 1
    Letzter Beitrag: 17.12.06, 18:56