none
Skript wird nicht gestartet RRS feed

  • Frage

  • Hallo,

    ich starte aus einer VB .NET Anwendung ein Powershell-Skript. Auf Server1, der identisch ist mit Server2, wird das Skript ausgeführt. Bei der selben Prozedur auf Server2  wird ganz kurz die Schwarze PS-Console eingeblendet und weg, das war's dann. Das Skript kann allerdings z.B über rechte Maustaste->Öffnen mit...->Powershell gestartet werden.

    Hat jemand eine Ahnung?

    Danke schonmal

    Armin

    Freitag, 23. September 2011 06:30

Antworten

  • > ""powershell.exe -noexit" bleibt ohne Wirkung.

    Das wird dann leider an der Art deines Aufrufes in VB-Net liegen. Ich bin eh grundsätzlich ziemlich sicher das etwas mit dem Aufruf nicht stimmt. Wie ist es denn mit den Rechten? Liegt das Skript auf einem Share? Hast du mal versucht auf Server 2 ein anderes Skript (im gleichen Pfad wie das Problemskript) oder gar nur die Powershell.exe aufzurufen?

    Ergänzung: Achja, es sollte in VB-Net auch möglich sein, beim Aufruf von Powershell den StandardOutput in eine Datei umzuleiten. Dort sollte dann auch die Fehlermeldung landen.

    Grüße, Denniver


    Blog: http://bytecookie.wordpress.com

    Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".

    Montag, 26. September 2011 13:07
    Moderator

Alle Antworten

  • Wenn die Konsole sich direkt wieder schliesst, ist irgendwas grundsätzliches nicht in Ordnung, wie z.b. Scriptpfad stimmt nicht, keine Rechte auf Skriptpfad oder natürlich Skriptausführung ist nicht oder nur signiert erlaubt...

    Grüße, Denniver

     


    Blog: http://bytecookie.wordpress.com

    Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".
    Samstag, 24. September 2011 10:11
    Moderator
  • Hallo Denniver,

    der Pfad ist in Ordnung, Skriptausführung sit erlaubt (unrestricted). Aber das mit der Signatur hab ich schon irgendwo gelesen.

    Leider hab ich keine Signatur draufgelegt. Gibt es eine Möglichkeit Dieses zu prüfen?

    Gruß

    Armin

    Montag, 26. September 2011 06:00
  • ......könnte man evtl. die Fehlermeldung, die nur kurz als vermutetes rotes Etwas zu erahnen ist in eine Datei schreiben?
    Montag, 26. September 2011 09:56
  • >Skriptausführung sit erlaubt (unrestricted). Aber das mit der Signatur hab ich schon irgendwo gelesen.

    Die Signatur ist nur interessant, wenn die Executionpolicy auf Remotesigned oder AllSigned steht.

    Gib mal bitte:

    Get-ExecutionPolicy -Scope LocalMachine

    ein.

    >.....könnte man evtl. die Fehlermeldung, die nur kurz als vermutetes rotes Etwas zu erahnen ist in eine Datei schreiben?

    Ja, du musst den Aufruf des Skriptes in deinem VB-Net-Programm so anpassen, das das Konsolenfenster offen bleibt. Als Kommandozeile sähe das so aus:

    powershell.exe -noexit "meinscript.ps1"

    Grüße, Denniver

     

     

     


    Blog: http://bytecookie.wordpress.com

    Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".
    Montag, 26. September 2011 11:25
    Moderator
  • Hallo Denniver,

    "get-executionpolicy -scope localmachine" ergibt "ByPass".

    ""powershell.exe -noexit" bleibt ohne Wirkung.

    Gruß

    Armin

    Montag, 26. September 2011 12:44
  • > ""powershell.exe -noexit" bleibt ohne Wirkung.

    Das wird dann leider an der Art deines Aufrufes in VB-Net liegen. Ich bin eh grundsätzlich ziemlich sicher das etwas mit dem Aufruf nicht stimmt. Wie ist es denn mit den Rechten? Liegt das Skript auf einem Share? Hast du mal versucht auf Server 2 ein anderes Skript (im gleichen Pfad wie das Problemskript) oder gar nur die Powershell.exe aufzurufen?

    Ergänzung: Achja, es sollte in VB-Net auch möglich sein, beim Aufruf von Powershell den StandardOutput in eine Datei umzuleiten. Dort sollte dann auch die Fehlermeldung landen.

    Grüße, Denniver


    Blog: http://bytecookie.wordpress.com

    Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".

    Montag, 26. September 2011 13:07
    Moderator
  • Hallo Denniver,

    vielen Dank für Deine Mühe. Ich bin zwar noch nicht durch, aber die Versuche bis jetzt deuten einwandfrei auf den Aufruf durch VB.

    Ich werde Dir das Ergebnis mitteilen.

    Gruß

    Armin


    • Bearbeitet AucheinName Montag, 26. September 2011 14:44
    Montag, 26. September 2011 14:43
  • Hallo Armin,

     

    bist Du hier inzwischen weitergekommen?

     

    Gruss,

    Alex

    Mittwoch, 28. September 2011 14:33
  • Hallo Alex,

    nein leider nicht. Bin für jeden weiteren Tipp dankbar.

    Gruß

    Armin

    Donnerstag, 29. September 2011 07:49
  • Was hast du denn in der Zwischenzeit versucht? Hast du mal die Dinge versucht die ich oben vorgeschlagen habe?

    [...]

    Wie ist es denn mit den Rechten? Liegt das Skript auf einem Share? Hast du mal versucht auf Server 2 ein anderes Skript (im gleichen Pfad wie das Problemskript) oder gar nur die Powershell.exe aufzurufen?

    Ergänzung: Achja, es sollte in VB-Net auch möglich sein, beim Aufruf von Powershell den StandardOutput in eine Datei umzuleiten. Dort sollte dann auch die Fehlermeldung landen.

    [...]

    grüße, Denniver


    Blog: http://bytecookie.wordpress.com

    Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".
    Donnerstag, 29. September 2011 10:29
    Moderator
  • Hallo Denniver,

    StandardOutput in VB hatte ich schon durch, ohne Ergebnis.

    Aus VB starten:

    Powershell.exe -> OK

    Skripte -> NEIN

     

    Gruß

    Armin

     

    Freitag, 30. September 2011 09:03
  • Was bedeutet "hatte ich schon durch, ohne Ergebnis"?
    Wenn du beim Aufruf von Powershell den Standardoutput in eine Datei umleitest, werden dorthin (u.a.) die Fehlermeldungen geschrieben. Wenn das nicht so war, hast du bei der Umleitung wahrscheinlich einen Fehler gemacht.

    Den rest deines Postings verstehe ich nicht, bzw. er beantwortet nicht meine Fragen von Montag. Möchtest du hier noch weiter an dem Problem arbeiten? Es ist nicht so das ich nicht auch was anderes zu tun hätte... :)

    Grüße, Denniver

     


    Blog: http://bytecookie.wordpress.com

    Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".

    Freitag, 30. September 2011 09:20
    Moderator
  • Der Rest bedeutet: die Powershell.exe kann gestartet werden, ein Skript (das als parameter hinter der powershell.exe angegeben wird) wird nicht ausgeführt.

    Die StandardOutput-Antwort meint, es gibt keinen Hinweis auf einen fehlerhaften Aufruf.

    Rechte sind vorhanden (Admin) und das Skript liegt lokal. Wie gesagt, mit rechte Taste öffnen mit Powershell kann ich das Skript problemlos starten.

    Gruß

    Armin

    Freitag, 30. September 2011 10:37
  • >Die StandardOutput-Antwort meint, es gibt keinen Hinweis auf einen fehlerhaften Aufruf.

    Genau hier stimmt aber was nicht. Du hast geschrieben man könne kurz einen roten Text in der Console erkennen, bevor sie sich schliesst. Das ist definitiv eine Fehlermeldung.

    Grüße, Denniver


    Blog: http://bytecookie.wordpress.com

    Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".

    Freitag, 30. September 2011 10:50
    Moderator