3 Replies Latest reply on May 10, 2011 3:54 AM by juchem

    Reboot im AutoInstaller wird nicht durchgeführt

    juchem Apprentice
      Hallo zusammen,

      folgendes Paket lasse ich im AutoInstaller als User Rechnername_PC (AutoAdminLogon), ausführen:



      If IsUser('%XNODE%_PC')
        Execute('%Skripte%\Windows XP\WSUS\ShowUpdates.exe')/TU

        CallScript('%Skripte%\Windows XP\WSUS\UpdateInstaller.vbs')/TL

      !  VBS übergibt die Variable %_Restart% an eScript
        If %_Restart%='1'
      !   Nach der Installation von speziellen Updates, wird ein Neustart verlangt
         KillProcess('ShowUp~1.exe',kpByFileName+kpKillAll)/TL
         KillProcess('ShowUpdate.exe',kpByFileName+kpKillAll)/TL
         InitiateSystemShutDown('5',issForceLogoff+issRebootAfterShutdown)
          Für weitere WSUS Updates ist ein Reboot erforderlich
         EndProc/TL
         EndInstallerSession/TL
         ExitProc(Undone)
      !   
      !  Es sind keine weiteren Updates mehr vorhanden
        If %_Restart%='0'
         KillProcess('ShowUp~1.exe',kpByFileName+kpKillAll)/TL
         KillProcess('ShowUpdate.exe',kpByFileName+kpKillAll)/TL
         ExitProc(Done)
      ExitProc(Done)



      Das Paket installiert noch offenstehende Windows Updates, bei Bedarf wird ein Reboot benötigt. Der Reboot wird wie folgt eingeleitet:

      EndProc/TL
      EndInstallerSession/TL
      ExitProc(Undone)

      Im Log des AutoInstaller sehe ich das  If %_Restart%='1' zutrifft und ein Reboot Flag gesetzt wird. Dennoch erfolgt kein Reboot.

      Das Problem an der Sache ist, das im Anschluß der ServiceInstaller die restlichen Pakete installiert.

      Die Ausführungeingenschaften: Nur wenn Benutzer angemeldet ist & Software steuert Neustart.

      Habt Ihr eine Idee was ich falsch mache?

      Vielen Dank und Gruß Raoul
        • 1. Re: Reboot im AutoInstaller wird nicht durchgeführt
          gunzebe Apprentice
          Hi Raoul,

          nachdem sich bei dir immer noch keiner gemeldet hat oder getraut hat was zu schreiben nun mal mein Senf dazu

          Erstmal die Grundsätzliche Frage, warum du dein Patchmanagement nicht automatisch über Enteo machst oder machen möchtest?

          Enteo v6 bietet dir doch die Möglichkeit, alle Patche die auf der Microsoft Windows Update Site angeboten werden, über die Enteo Infrastruktur zu verteilen. Somit brauchst du dich auch nicht mehr darum kümmern eine unabhängige WSUS Infrastruktur aufzubaun oder an einzelnen Clients per Script nach fehlenden Patchen zu suchen. Der Client meldet seine Vulnerabilities (Schwachstellen) selbstständig zurück und bekommt seine Patche verbraten.

          Falls das trotz alledem nichts für dich ist versuch mal in deinem Script keinen "InitiateSystemShutDown" zu machen.

          Ich würde an dieser Stelle einen Execute auf die Shutdown.exe ausführen. Dies würde dann ca. so aussehen:

          Execute('%WINSYSDIR%\shutdown.exe -r -t 30 -c "Reboot is executed by enteo package %project.name%" -f')/x64/TS




          Gruß,
          Bene
          • 2. Re: Reboot im AutoInstaller wird nicht durchgeführt
            juchem Apprentice
            Hallo Bene,

            vielen Dank für Deine Antwort

            So wie es aussieht konnte unser Support uns jetzt eine Lösung präsentieren.

            Im Rahmen des Autoinstallers werden bei der Erstinstallation im Vorfeld noch andere Pakete installiert, welche wir aus der 5.x migriert und angepasst haben. Allerdings hatten noch einige Pakete ein
            ClearRestartFlags
            eingebunden. Zusätzlich wurde der Befehl
            InitiateSystemShutDown
            als Computer-Related geflaggt.

            Diese Kombination sorgte dafür das der Rechner mit InitiateSystemShutDown rebootet wird.

            Gruß Raoul
            • 3. Re: Reboot im AutoInstaller wird nicht durchgeführt
              Markus.Zierer Expert
              Hallo,

              das Problem wird tatsächlich sein, dass der Service im Hintergrund noch läuft. Da Du ja mittels AutoLogOn Installierst, laufen deine Installationen im Kontext des Agents. Deinem Scrip sagst Du zwar, dass er Den aktuell laufenden Prozess nach beendigung des aktuellen Paketes beenden soll (EndProc), Keine weitere Installation mehr Durchführen soll (EndInstallerSesseion) und die Paketausführung an dieser Stelle abbrechen soll (ExitProcUndone). Damit wird sich der Installer im AGENT Kontext korrekt beenden.

              Das Problem ist aber jetzt, dass noch der Installer läuft, welcher vom Service getriggered wurde. Und da der in nem anderen Kontext unterwegs ist, als der Agent, interessiert Ihn das nicht. Der würde sein Ding fertig machen und erst danach (vielleicht) den Neustart durchführen.

              ab der v6 ist die Herangehensweise mit dem AutoAdminLogOn zwar noch möglich, aber nicht mehr vorgesehen. Langfristig tust du Dir einen Riesen gefallen, wenn Du von dieser Methode abrückst und statt dessen die Pakete so baust, dass die Computerteile vom Service installiert werden können.

              Was mir als Möglichkeit einfallen würde wäre, dass Du die Startverzögerung des NI Service hochstellst. Dann läuft nur der Agent und das mit den Reboots sollte wieder klappen. Allerdings handelst Du Dir damit halt wieder andere Probleme ein...