Zum Inhalt
Proactive Remediation for Business
Home » "Proactive Remediation for Business"

"Proactive Remediation for Business"

Mit den Proactive Remediation Skripten bietet der Endpoint Manager eine hervorragende Art, Problemen proaktiv entgegenzuwirken oder Task in einem Intervall durchzuführen. Leider steht die Funktion aber nur mit einer Enterprise Lizenz (Windows 10/11 E3/5 A3/5) zur Verfügung. Da ich viele Umgebungen betreue, die mit "Microsoft 365 Business Premium" lizenziert sind, habe ich mir ein Script "Proactive Remediation for Business" aufgebaut. Mit diesem kann ich die meisten Funktionalitäten, die uns die Proactive Remediations bieten, abdecken.

Table of Contents

Erklärung

Das Script erstellt einen Scheduled Task, der die Funktion des Intervalls der "Proactive Remediation" Funktion übernimmt. Für den Task habe ich die Funktionen "Einmalig", "Stündlich", "Täglich" und "AtLogon" eingebaut. Je nachdem, welchen Trigger du wählst, kannst du auch das Intervall genauer definieren.
Ob die Ausführung des Tasks als User oder System sein soll, kannst du in der Verteilung wählen. Beides wird unterstützt.

Die Definition kannst du im oberen Bereich des Installation-Scripts (install.ps1) machen:

########################################################################## # Recurence Data ########################################################################## $Schedule_Frequency = "Daily" # Once, Hourly, Daily, AtLogon $Schedule_RepeatInterval = "7" # Number (for Daily and Hourly) $Schedule_StartDate = "2023-01-30" # YYYY.MM.DD (for Once) $Schedule_StartTime = "8am" # ex 8am / 5pm (for Once, Hourly, Daily)
Codesprache: Power Shell (powershell)

Verteilst du das Script erstellt dieses den Task wie von dir definiert und legt das Detection und Remediation Script lokal auf dem Gerät ab. Zudem Speicher es sich selbst im selben Ordner mit dem angegebenen Paketnamen ab.
Wird das Script dann durch den Scheduled Task angestossen, bemerk es, dass bereits ein Task vorhanden ist und stösst das Detection-Script (detection.ps1) an. Erkennt dieses etwas, so wird auch gleich das Remediation-Script (remediation.ps1) ausgeführt.

Vorbereitung

Für das Beispiel hier verwende ich eine "Proactive Remediation" Logik, welche doppelt vorhandene Verknüpfungen wie beispielsweise "Teams - Copy.lnk" auf dem Desktop erkennt und löscht.

Möchtest du nun deine eigene Detection und Remediation verteilen, musst du folgende Passagen im Script und Paket anpassen:

$PackageNameHier gibst du dem Paket einen Namen. Dieser wird sowohl für das Log, den Scheduled Task als auch für den Namen des Scripts auf dem Gerät verwendet.
Achte also darauf, dass du den Namen eindeutig wählst. Das ist vor allem wichtig, wenn du mehrere Pakete verteilen möchtest.
$VersionDie Version ermöglicht dir später das Paket zu updateten.
Recurence DataDas Intervall beziehungsweise die Trigger definierst du im oberen Teil des Scripts, wie bereits in der Erklärung aufgezeigt.
detection.ps1Dieses File kannst du mit deinem Detection-Script ersetzten. Wichtig ist, dass es bei einer Erkennung mit dem Exit Code 1 beendet wird.
remediation.ps1Auch dieses File tauschst du aus. Dieses Mal mit deiner Remediation Logik.
check.ps1Diese Datei musst du nur bei einem Update die Version anpassen.

Weitere Anpassungen im Script oder dem Paket musst du nicht machen. Eine zusätzliche Anpassung ist nur nötig, falls du eine neue Version verteilen möchtest. Dafür musst du dann die Versionsnummer in der zweiten Zeile im "install.ps1" sowie "check.ps1" erhöhen.

Proactive Remediation, win32 App erstellen

Hast du die Vorbereitungen gemäss dem Schritt oben abgeschlossen, musst du das Paket nur noch in ein "Intunewin"-File verwandeln und im Endpoint Manager / Intune erfassen.

Für die Erstellung des "Intunewin"-File habe ich dir hier eine Anleitung: Win32 App / .intunewin erstellen

Hast du das File, kannst du im Endpoint Manager unter «Apps > Windows apps» ein Win32 App erstellen und das File hochladen. Gib dem Paket einen aussagekräftigen Namen, eine Beschreibung und einen Herausgeber:

Create win32 app for Proactive Remediation

In den Programmeinstellungen kannst du die Ausführung als "System" oder "User" wählen, dies je nachdem welche Anforderungen deine Detection hat. Als Installations- sowie Deinstallationsbefehl kannst du immer die nachstehenden hinterlegen.
Die Requirements im darauffolgenden Schritt sind nicht sehr relevant, müssen aber gesetzt werden.

Install command%SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe -windowstyle hidden -executionpolicy bypass -command .\install.ps1
Uninstall command%SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe -windowstyle hidden -executionpolicy bypass -command .\uninstall.ps1
win32 app program settings
win32 app requirements

Als Detection Rule wählst du als "custom detection script" das "check.ps1" File aus.

win32 app, detection rule

Die Abhängigkeiten sowie Supersedence kannst du überspringen.
Schlussendlich musst du die App nur noch einer Ziel-Gruppe zuweisen und abwarten, bis diese installiert ist.

Proactive Remediation, win32 App updaten

Hast du bereits ein App verteilt und möchtest entweder das Intervall der Prüfung, das Detection- oder Remediation-Script anpassen?
Das kannst du ganz einfach, indem du dieselben Schritte wie bei der initialen Erstellung durchgehst.
Wichtig ist aber, dass du die Versionsnummer anpasst. Dies musst du sowohl im "install.ps" als auch im "check.ps1" machen.
Hast du dann das ".intunewin"-File erstellt, kannst du dieses im bestehenden Win32 App im Endpoint Manager hochladen. Die Einstellungen kannst du alle belassen, nur noch die neue Erkennungsregel (check.ps1) hochladen und fertig.

5 Gedanken zu „"Proactive Remediation for Business"“

  1. Pingback: winget Updates | Proactive Remediations | scloud

  2. Pingback: HP Treiber Updates - Proactive Remediations | scloud

  3. Pingback: Dell Treiber mit Intune und Proactive Remediations | scloud

  4. Good morning, in your blog, you indicate that Proactive Remediation for Business only works with Windows 10 Enterprise licenses, is there a possibility that it works with Windows 10 Professional licenses?

    1. The "Business" way is a separate blog and creates a Scheduled Taks, this you can use regardless the licence.

      For the MEM integrated Proactive remediations you need one of the following licenses:

    2. Windows 10/11 Enterprise E3 or E5 (included in Microsoft 365 F3, E3, or E5)
    3. Windows 10/11 Education A3 or A5 (included in Microsoft 365 A3 or A5)
    4. Windows 10/11 Virtual Desktop Access (VDA) per user

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.