3 Replies Latest reply on Nov 23, 2017 10:52 AM by _Mel_

    Patchinstallation erzwingen

    saimen79 Apprentice

      Hallo

      wir benutzen noch immer das klassische Patchmanagement. Bei uns gibt es leider immer noch Benutzer, die den reboot Tage oder wochenlang hinausschieben und den Pc nie neu starten.Unser Sicherheitsbeauftrage, möchte jetzt das wichtige Sicherheitspatche nach spätestens 24 Stunden installiert werden und dass der Benutzer den benötigten reboot maximal einen Tag hinausschieben kann.  Wie könnte ich das jetzt am besten umsetzen?

      Ich habe an Maintainance Zeitfenster gedacht, aber da es Benutzer gibt die den pc nur ausserhalb der Zeifenster einschalten, würde die nie ein update bzw Patch erhalten. Ich könnte natürlich alle Pakete mit ignore Maintainance Timeframe markieren, aber bei ein paar 100 Paketen wäre mir eine andere Lösung lieber.

      Kann ich das maximale hinauszögern der Installation auf Zeit oder Anzahlt begrenzen?

      Kann ich einstellen in welchen Anständen das Fenster kommt, daß nach einem Neustart verlangt?

      Kann ich vielleicht mit dem Postponement Rollout einstellen, daß der reboot am selben Tag um MItternacht erfolgt?

      Bin für jeden Vorschlag dankbar!

       

       

      saimen

        • 1. Re: Patchinstallation erzwingen
          _Mel_ Master

          du kannst einfach am ende des installers ein script laufen lassen, das prüft, ob er schon zu lange auf einen reboot wartet und dann nochmal eine messagebox bringt (mit timeout) und danach ein initiatesystemshutdown ohne ask user macht

           

          ich würde wahrscheinlich eher auf zeit gehen - anzahl ist zwar leichter zu zählen, aber das erwischt dann halt benutzer, die den installer ein paarmal hintereinander starten (z.B. weil sie was über den shop installieren)

          du könntest z.B. eine schemaerweiterung machen in der steht seit wann der computer auf einen reboot wartet (hat den vorteil, daß man es auch in der dsmc sehen kann)

          so bekommst du die aktuelle zeit in sekunden

          Set('CurrentDate','%[time.parse(''%time.system%'')]%')

          entsprechend kannst du dir auch die schemaerweiterung in sekunden umrechnen lassen

          Set('WaitingForRebootDate','%[time.parse(''%CurrentComputer.CustomPropGroup.WaitingForReboot%'')]%')

          dann noch vergleichen ob mehr als 24 stunden rum sind

          Set('RebootNow','%[=%CurrentDate% - %WaitingForRebootDate% > 24 * 60 * 60]%')

          und wenn das dann 1 ist -> rebooten

           

          Edit: prozentzeichen vergessen

          1 of 1 people found this helpful
          • 2. Re: Patchinstallation erzwingen
            saimen79 Apprentice

            Danke _Mel, , ich habe gehofft es gibt bereits eine integrierte lösung.

            ich würde das jetzt mal so gerne ausprobieren. Ich habe die schemaerweiterung erstellt. erstelle ich dann ein escript und weise es auf allen rechnern zu damit dieser wert in die schemaerweiterung geschrieben wird? richtig verstanden?

            wie kann ich den reboot dann erzwingen, damit er nur bei einem patch ausgeführt wird? mit dem PM Execution Job?

            • 3. Re: Patchinstallation erzwingen
              _Mel_ Master

              ja, du brauchst praktisch ein script, das entscheidet, ob ein "wichtiger" reboot ansteht und dann das property auf %time.system% setzt.

              bei jedem beliebigen reboot könntest du einfach mit IsRestartFlagSet prüfen.

               

              Das könntest du auch im MP execution package nach der installation prüfen - zumindest wenn vorher kein neustart anstand muß es dann ein patch gewesen sein

               

              du kannst auch sofern du schon auf der R2 bist mit GetComplianceStatistics arbeiten.

              der ist etwas anspruchsvoller, aber auch recht mächtig.

              als filter machst du (die anführungszeichen gehören dazu)

              "%FilterPolicy.Policy.SchemaTag%" == "PatchPolicy"

              um nur patch policies zu betrachten

              und als zusätzliche abfrage

              %CurrentPolicyInstance.PolicyInstanceClient.RebootPending%

              damit bekommst du die Anzahl der patchpolicyinstanzen, die noch auf einen reboot warten

              -> die variante funktioniert auch in einem job am ende des installerlaufs