IT Excellence

Proactive Remediation for Business

7. Juli 2022 / Allgemein, Trends

Mit den Proactive Remediation Skripten bietet der Endpoint Manager eine hervorragende Art, Problemen proaktiv entgegenzuwirken oder Tasks 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.

Download Paket @ GitHub

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.

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)

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:

$PackageName

Hier 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.

$Version Die Version ermöglicht dir später das Paket zu updateten.
 Recurence Data
Das Intervall beziehungsweise die Trigger definierst du im oberen Teil des Scripts, wie bereits in der Erklärung aufgezeigt.
detection.ps1

Dieses File kannst du mit deinem Detection-Script ersetzten. Wichtig ist, dass es bei einer Erkennung mit dem Exit Code 1 beendet wird.

  remediation.ps1
Auch dieses File tauschst du aus. Dieses Mal mit deiner Remediation Logik.
check.ps1 Diese Datei musst du nur bei einem Update die Version anpassen.

 

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:

 

In den Programmeinstellungen musst du die Ausführung als «System» wählen (beziehungsweise belassen) und nachstehenden Installations- sowie Deinstallationsbefehl hinterlegen.
Die Requirements im darauffolgenden Schritt sind nicht sehr relevant, müssen aber gesetzt werden.

Install command %SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe -executionpolicy bypass -command .\install.ps1
  Uninstall command
%SystemRoot%\sysnative\WindowsPowerShell\v1.0\powershell.exe -executionpolicy bypass -command .\uninstall.ps1

 

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

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.

Post erstmals veröffentlich von unserem Business Solutions Consultant Florian Salzmann auf seinem privaten Blog auf scloud.work


« Zurück zur Übersicht