Zum Inhalt
Home » Custom Detection Script für Intune (win32 Apps)

Custom Detection Script für Intune (win32 Apps)

Custom detection Script Intune

Immer noch gibt es viel Applikationen, die sich nicht via MSI oder einer einfachen Installations-Routine installieren lassen. Hier kommt dann in Intune (Microsoft Endpoint Manager) die win32 App ins Spiel. Diese erlaubt es uns in Intune, Routinen und Abläufe in einem Script abzuhandeln und die Installation im Anschluss mit einem weiteren Script (Custom Detection Script) oder vordefinierten Erkennungsregeln (MSI, EXE, File oder Registry Key) zu prüfen.

In den vergangenen Jahren haben sich dadurch bei mir einige verschiedene Variationen an Erkennungsregeln angesammelt, welche ich hier versuche zu sammeln.

Übe den Button oberhalb findest du meine aktuelle Sammlung von Custom Detection Script für Intune win32 Apps. Wichtig ist, dass du jeweils nur einen der Blocks für deine Erkennungs-Regel verwendest. Wenn du wissen möchtest, wie ein win32 App im Allgemeinen aufgebaut ist und wie ich diese handhabe, findest du hier (my take on win32 apps – Intune) einen meiner vergangenen Blog-Beiträge.

In meinem GitHub Repository findest du aktuell folgende Erkennungsregeln:

  • Erkennung einer EXE oder einer Datei
  • Validation-File mit spezifischem Inhalt (beispielsweise eine Versionierung)
  • Vorhandene EXE mit exakter Ziel-Version
    • oder höherer Version
    • und zusätzlichem Registry-Key
  • Registry-Key Abgleich
  • Erkennung eines Scheduled Task
  • Erkennung eines Scheduled Task inklusive Version

Erklärung / Beispiel EXE mit exakter Version

Die Erkennungsregeln sind alle so aufgebaut, dass zunächst die Kriterien definiert werden:

$ProgramPath = "C:\Program Files\XXXXX\XXXXXX.exe" $ProgramVersion_target = '1.0.2' $ProgramVersion_current = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($ProgramPath).FileVersion
Codesprache: Power Shell (powershell)


Die Definitionen werden anschliessen einander gegenübergestellt oder geprüft und wenn sie zutreffen, wird «Found it!» ausgegeben. Dies signalisiert Intune, dass das Paket erfolgreich installiert ist. Alternativ kannst das Script auch mit ‹exit 0› beenden.

if($ProgramVersion_current -eq $ProgramVersion_target){ Write-Host "Found it!" }
Codesprache: Power Shell (powershell)

Hast du weiter Erkennungsregeln, welche dir in deinem Alltag helfen oder an welchen du anstehst?
Lass es mich in den Kommentaren wissen. Ich ergänze meine Sammlung gerne.

1 Gedanke zu „Custom Detection Script für Intune (win32 Apps)“

  1. Hello,

    For the version checking, If EXE file is not installed or not a specific binaries, that does not work.
    In this cas downloed by invoke-request.

    I use this way :
    $file=»C:\TeamViewerQS.exe»
    $MAJOR=$(Get-ChildItem $file | %{$_.VersionInfo} | Select *).FileVersionRaw.major
    $MINOR= $(Get-ChildItem $file | %{$_.VersionInfo} | Select *).FileVersionRaw.Minor
    # Major Minor Build Revision
    # —– —– —– ——–
    # 15 29 4 0

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht.