7 Replies Latest reply on Aug 10, 2018 6:54 AM by mpos

    Ausstehende OS Installation erkennen und eScript ausführen

    mpos Rookie

      Hallo zusammen,

       

      Kennt jemand von euch einen Weg, wie ich auf dem Client erkennen kann ob eine OS Installation (Reinstall computer…) ausstehend ist und ich darauf beispielsweise mit einem eScript reagieren kann?

       

      Zur Erklärung kurz mein Szenario:

      Wir haben Testsysteme welche von mehreren Abteilungen genutzt werden. Diese Reinstallieren die Systeme nach ihren Testcyclen über die DSMC. Bevor die OS Reinstallation ausgeführt wird, muss auf den Systemen noch einiges überprüft und gesichert werden. Daher die Idee von einem eScript oder dergleichen, welches vor der OS Installation ausgeführt wird.

       

      Vielen Dank und Grüsse

       

        • 1. Re: Ausstehende OS Installation erkennen und eScript ausführen
          derniwi Master

          Hallo Namenloser,

           

          ganz ehrlich: da würde ich nichts automatisiert per eScript versuchen. Dann verlassen sich die Leute darauf und meckern, wenn mal etwasn icht gesichert ist.

          Die sollen sich evtl. selbst Skripte (.cmd) erstellen, welche ihre Sachen wegsichern, bestenfalls liegt sogar das Skript auf einem Netzwerk-Laufwerk. Dann sind sie selbst in der Verantwortung.

           

          Denn: wenn eine Neuinstallation ansteht und der Rechner neu gestartet wird, kann es passieren, dass der Rechner gelöscht wird, bevor Dein Skript laufen würde. Du müsstest also etwas haben, was bei einer Neuinstallation vor der Partitionierung läuft und dann Dateien wegkopiert. Also, das Installations-Set bearbeiten und erweitern, ggfs. ein Neues für die Test-Rechner erstellen. Das wäre mir etwas zu heiß... (und das hat nichts mit dem Sommer zu tun. ;-) )

           

          Wenn ein Rechner auf Neuinstallation gesetzt wird, werden ja die Policy-Instanzen zurückgesetzt...

           

          Gruß

          Nils

          • 2. Re: Ausstehende OS Installation erkennen und eScript ausführen
            FrankScholer Master

            Hi,

            Kennt jemand von euch einen Weg, wie ich auf dem Client erkennen kann ob eine OS Installation (Reinstall computer…) ausstehend ist und ich darauf beispielsweise mit einem eScript reagieren kann?

            das geht nicht, weil wenn der DSM Client erkennt, dass ein OSD Paket pending ist, dann wird er das immer zuerst machen wollen und einen Neustart einleiten. Dein eScript wird daher gar nicht ausgeführt, egal ob du "erkennen" würdest, dass eine OS Installation ansteht oder nicht...

             

            HTH Gruß Frank

            • 3. Re: Ausstehende OS Installation erkennen und eScript ausführen
              derniwi Master

              Eine Idee wäre noch, ein Shutdown-Skript zu verwenden. Hier müsste dann geprüft werden, ob eine Neuinstallation per DSM ansteht (z.B. per PowerShell, SOAP und "GetPolicyInstanceListByNode"). Das Skript selbst würde dann per GPO auf die Maschinen zugeordnet werden können.

               

              Also, mittels PowerShell müsste man die Policy-Instanzen für die Maschine abrufen und dort den Status des Windows-Configuration-Package abfragen. Steht dieser auf "PendingInstall", dann ist eine Neuinstallation angestoßen worden und nun sind die Dateien zu sichern, bevor der Rechner neu startet. Hier kann es noch ein paar andere Problemchen geben, z.B. müsste man noch einen TimeOut-Wert für Windows erhöhen, wenn ich mich richtig erinnere. Ansonsten hat man wohl zwei Minuten Zeit... wenn dasn icht reicht, wird das Skript abgebrochen...

               

              Aber im ersten Schritt wäre es wohl wichtiger, das PowerShell-Skript zu schreiben. Ich habe mich mal ein wenig mit der SOAP-Schnittstelle beschäftigt, aber spontan müsste ich wohl einiges recherchieren, bis das so läuft.

              • 4. Re: Ausstehende OS Installation erkennen und eScript ausführen
                mpos Rookie

                Hallo zusammen

                 

                Vielen Dank schon mal für euer Feedback.

                Ich weiss, dass meine Anfrage nicht gerade durch eine Standard Funktionen von DSM abgedeckt werden kann. Hätte ich auch eine einfachere Ausgangslage, würde ich auch eine einfachere technische Lösung wählen.

                 

                Ein normaler Windows Neustart reicht nicht aus, um die OS Installation zu starten. Da unsere Testsysteme in eingeschränkten Subnetzen stehen, habe ich kein OSD Server zur Verfügung welcher auf ein PXE Request antworten kann. Darum ist ein Teil der abschliessenden Arbeiten, das editieren des Windows Bootloaders. Von einer zweiten WinPE Partition läuft dann der OSD PXE Client, welcher das System bzw. die primäre Windows Partition neu installiert.

                Wie gesagt: keine einfache Ausgangslage…

                 

                Ich dachte, dass sich dies vielleicht durch eine Job Policy mittels "Installer run: Start" oder ähnliches realisieren lassen könnte. Dabei stellt sich wieder die Frage wie ich überprüfen kann ob eine OS Installation aussteht.

                 

                Den Input mit dem PS-Skript und der SOAP Schnittstelle, schaue ich mir sicher mal an.

                 

                Vielen Dank und Gruss

                Peter

                • 5. Re: Ausstehende OS Installation erkennen und eScript ausführen
                  _Mel_ Master

                  also es gibt den Befehl "GetComplianceStatistics" mit dem du recht genau filtern kannst welche policyinstanzen dich interessieren. das kannst du in einem job beim start des installers testen und entsprechend reagieren. allerdings verrät der dir im zweifelsfall nur ob ein osd paket gelb ist aber nicht unbedingt ob es jetzt gleich ausgeführt würde.

                   

                  außerdem meine ich, daß der "start eines softwaresets" trigger auch bei os sets läuft - und er läuft nur, wenn auch ein paket in dem set ausgeführt werden soll. also mit dem jobtrigger und dem test ob das softwareset, das den job ausgelöst hat ein osset ist, wäre es zumindest recht wahrscheinlich, daß osd vorhat etwas zu tun.

                  (die start/ende eines pakets trigger laufen nur für escripts, die bringen also in dem fall nichts)

                   

                  sofern es funktioniert wäre die zweite methode wahrscheinlich einfacher und zuverlässiger

                  • 6. Re: Ausstehende OS Installation erkennen und eScript ausführen
                    derniwi Master

                    @Mel: was passiert aber, wenn der Rechner heruntergefahren ist und dann auf "Reinstall" gesetzt wird? Das Job-Paket wird dann nicht laufen, oder?

                    Ebenso, wenn der Rechner läuft und neu gestartet wird...

                     

                    Letztlich denke ich, dass man für diese Maschinen das OS Installation Set erweitern muss. Das wäre wohl der einzig sichere Weg, alles andere bedingt, dass der Service Installer oder der Auto Installer noch einmal läuft oder eine andere Prozedur eingehalten werden muss.

                    • 7. Re: Ausstehende OS Installation erkennen und eScript ausführen
                      mpos Rookie

                      Hallo zusammen,

                       

                      Vielen Dank für eure Inputs.

                      Ich habe es nun so konfiguriert, dass ich eine Job Policy beim Starten eines Softwaresets ausführe. Dieses überprüft mittels des „GetComplianceStatistics“ ob ein OSConfigurationPackage im Status Pending ist.

                       

                      Ich muss es noch durchtesten und ausbauen, aber auf den ersten Blick scheint es die Lösung zu sein.

                       

                      Danke und Gruss

                      Peter