none
Wie PS-Script bei Rechner Shutdown beenden? RRS feed

  • Allgemeine Diskussion

  • Hallo,

     

    aufgrund eines seltsamen Netzwerkfehlers (bei dem verbundene Netzlaufwerke "verschwinden") läuft auf einigen Domänenrechnern (XPSP3) ein Script das diese Netzwerklaufwerke per "test-path" überprüft und online hält und dann einige Minuten schläft (start-sleep) um dann die Testschleife zu wiederholen.

     

    Soweit so nana, Problem ist unter anderem das beim Herunterfahren und Abmelden von den Rechnern eine Fehlermeldung erscheint weil Powershell nicht automatisch beendet werden kann und eine Nutzerinteraktion gefordert wird.

    Das wiederum ist gar nicht gut, da damit das scriptgesteuerte Auschalten der Rechner per psshutdown auch nicht mehr funktioniert.

    Wie kann ich nun das Script anpassen damit das Herunterfahren/Abmlden klappt ohne Nutzerinteraktion?

     

    Danke & Gruß

     

     

    Gibt es eine M

    Mittwoch, 20. Oktober 2010 06:44

Alle Antworten

  • Moin,

    na ja, das Problem dürfte sein, dass das Script in einer Endlosschleife
    läuft.

    Der Knackpunkt ist als "start-sleep". Mit Bordmitteln würde mir keine
    Möglichkeit einfallen, damit start-sleep nicht den Shutdown aufhält.

    Workaround:
    Den Shutdown mit einem eigenen Script durchführen und hier "shutdown.exe"
    mit dem Schalter /f benutzen.

    Du könntest anstelle von start-sleep auch einfach das Script per Taskplaner
    alle x Minuten starten. Dann läuft es nicht ständig, belegt keine
    Ressourcen und behindert das herunterfahren nicht.

    (Noch schöner wäre natürlich, das Problem für den Netzwerkfehler zu
    beheben, aber das wirst Du schon probiert haben.)


    Grüße aus Berlin schickt Robert
    MVP Exchange Server
    Mittwoch, 20. Oktober 2010 07:03
  • na ja, das Problem dürfte sein, dass das Script in einer Endlosschleife
    läuft.

    Der Knackpunkt ist als "start-sleep". Mit Bordmitteln würde mir keine
      Möglichkeit einfallen, damit start-sleep nicht den Shutdown aufhält.

    Du meinst also das Problem tritt grundsätzlich bei laufenden Scripten auf?

    Hm, und da gibt es keine Möglichkeit, z.B.  auf das "Ereigniss Shutdown" zu reagieren und die Schleife zu beenden?

     Falls das nicht geht muss ich wohl ein weiteres Script schreiben das mir den Taskplaner Eintrag erzeugt, der das Testscript dann regelmässig startet. Das wollte ich schon mal machen, war mir aber damals zu kompliziert. Naja, komme wohl nicht drum rum.

     

     -----

    (Noch schöner wäre natürlich, das Problem für den Netzwerkfehler zu
    beheben, aber das wirst Du schon probiert haben.)
    ---------

    Ha, das gibts ca. 30 "klappt vielleicht, vielleicht auch nicht" Lösungen dazu und eine davon ist genau die Lösung mit dem Script. Ich hab das Scriptr gewählt weils schneller geht.

    Mittwoch, 20. Oktober 2010 08:05
  • Am 20.10.2010 schrieb MaFrei:

    Ha, das gibts ca. 30 "klappt vielleicht, vielleicht auch nicht" Lösungen dazu und eine davon ist genau die Lösung mit dem Script. Ich hab das Scriptr gewählt weils schneller geht.

    Das ist keine Lösung, sonder nur ein Würgaround. Eine Lösung würde
    funktionieren, Du fängst jetzt aber wieder das basteln an. Kümmere
    dich um eine funktionierende Lösung. Mach dazu einen neuen Thread im
    passenden Server Forum auf und mach genaue Angaben über das Umfeld und
    die auftretenden Fehler.

    Servus
    Winfried


    Connect2WSUS: http://www.grurili.de/tools/Connect2WSUS.exe
    GPO's: http://www.gruppenrichtlinien.de
    Community Forums NNTP Bridge: http://communitybridge.codeplex.com/

    Mittwoch, 20. Oktober 2010 09:18
  • Moin,

    na ja, das Problem dürfte sein, dass das Script in einer Endlosschleife
    läuft.

    Der Knackpunkt ist als "start-sleep". Mit Bordmitteln würde mir keine
      Möglichkeit einfallen, damit start-sleep nicht den Shutdown aufhält.

    Du meinst also das Problem tritt grundsätzlich bei laufenden Scripten auf?

    Hm, und da gibt es keine Möglichkeit, z.B.  auf das "Ereigniss Shutdown" zu reagieren und die Schleife zu beenden?

    nein, ich denke schon, dass man mit der PowerShell auch Event-gesteuert
    arbeiten kann. Ich glaube nur nich, dass "start-sleep" das kann. Die
    Schliefe müsstest Du dann eventuell selbst schreiben.

     Falls das nicht geht muss ich wohl ein weiteres Script schreiben das mir den Taskplaner Eintrag erzeugt, der das Testscript dann regelmässig startet.

    Das ist doch eine Einmalaktion in 2 Minuten erledigt. Wozu brauchst Du da
    ein Script?


    Grüße aus Berlin schickt Robert
    MVP Exchange Server
    Donnerstag, 21. Oktober 2010 11:54