Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Bevor Sie benutzerdefinierte Einstellungen für die Kompatibilität mit Microsoft Intune verwenden können, müssen Sie ein Skript erstellen, das benutzerdefinierte Konformitätseinstellungen auf Geräten ermittelt. Welches Skript Sie verwenden, hängt von der Plattform ab:
- Windows-Geräte verwenden ein PowerShell-Skript.
- Linux-Geräte können Skripts in jeder Sprache ausführen, solange der entsprechende Interpreter auf dem Gerät installiert und konfiguriert ist.
Das Ermittlungsskript wird im Rahmen Ihrer benutzerdefinierten Konformitätsrichtlinien auf Geräten bereitgestellt. Wenn Compliance auf einem Gerät ausgeführt wird, erkennt das Skript die Einstellungen, die in der JSON-Datei definiert sind, die Sie beim Erstellen der Konformitätsrichtlinie angeben.
Alle Ermittlungsskripts:
- Werden Intune hinzugefügt, bevor Sie eine Konformitätsrichtlinie erstellen. Nachdem Sie ein Skript hinzugefügt haben, können Sie es auswählen, wenn Sie eine Konformitätsrichtlinie mit benutzerdefinierten Einstellungen erstellen.
- Jedes Ermittlungsskript kann nur mit einer Konformitätsrichtlinie verwendet werden, und jede Konformitätsrichtlinie kann nur ein Ermittlungsskript enthalten.
- Sie können Ermittlungsskripts, die einer Konformitätsrichtlinie zugewiesen sind, erst löschen, wenn Sie die Zuweisung des Skripts zur Richtlinie aufheben.
- Führen Sie die Ausführung auf einem Gerät aus, das die Konformitätsrichtlinie erhält. Das Skript wertet die Bedingungen der JSON-Datei aus, die Sie beim Erstellen einer benutzerdefinierten Konformitätsrichtlinie hochladen.
- Identifizieren Sie eine oder mehrere Einstellungen, wie im JSON definiert, und geben Sie eine Liste der ermittelten Werte für diese Einstellungen zurück.
Darüber hinaus bietet das PowerShell-Skript für Windows:
Muss komprimiert werden, um die Ergebnisse in einer einzigen Zeile auszugeben. Beispielsweise muss die letzte Zeile das folgende Skript enthalten
return $hash | ConvertTo-Json -Compress:$hash = @{ Manufacturer = $WMI_ComputerSystem.Manufacturer; BiosVersion = $WMI_BIOS.SMBIOSBIOSVersion; TPMChipPresent = $TPM.TPMPresent} return $hash | ConvertTo-Json -Compress
Einschränkungen
Um Compliance-Daten erfolgreich an Intune zurückgeben zu können, müssen Ihre Skripts innerhalb der folgenden Grenzen bleiben:
- Skripts dürfen jeweils nicht größer als 1 MB sein.
- Die von jedem Skript generierte Ausgabe darf nicht größer als 1 MB sein.
- Skripts müssen eine begrenzte Laufzeit haben:
- Unter Linux darf die Ausführung von Skripts maximal fünf Minuten dauern.
- Unter Windows darf die Ausführung von Skripts maximal 10 Minuten dauern.
Beispielermittlungsskript für Windows
Das folgende Beispiel ist ein PowerShell-Beispielskript, das Sie für Windows-Geräte verwenden können:
$WMI_ComputerSystem = Get-WMIObject -class Win32_ComputerSystem
$WMI_BIOS = Get-WMIObject -class Win32_BIOS
$TPM = Get-Tpm
$hash = @{ Manufacturer = $WMI_ComputerSystem.Manufacturer; BiosVersion = $WMI_BIOS.SMBIOSBIOSVersion; TPMChipPresent = $TPM.TPMPresent}
return $hash | ConvertTo-Json -Compress
Das folgende Beispiel zeigt die Ausgabe des Beispielskripts für Windows:
{"BiosVersion":"1.24","Manufacturer":"Microsoft Corporation","TPMChipPresent":true}
Beispielermittlungsskript für Linux
Hinweis
Unter Linux werden Ermittlungsskripts im Kontext des Benutzers ausgeführt. Sie können nicht nach Einstellungen auf Systemebene suchen, die eine Erhöhung erfordern. Ein Beispiel für diese Einschränkung ist die state/hash/etc/sudoers der Datei.
Ermittlungsskripts für Linux können jeden Interpreter aufrufen, der Ihren Anforderungen entspricht. Stellen Sie sicher, dass der ausgewählte Interpreter ordnungsgemäß auf dem Zielgerät installiert und konfiguriert ist, bevor Sie das Skript bereitstellen. Um den Interpreter für ein Skript anzugeben, fügen Sie oben im Skript eine Shebang-Zeile ein, die den Pfad zur Interpreterbinärdatei angibt.
Wenn Ihr Skript beispielsweise die Bash-Shell als Interpreter verwenden soll, fügen Sie oben im Skript die folgende Zeile hinzu:
#!/bin/bash
Um Python zu verwenden, geben Sie den Interpreterpfad an. Fügen Sie beispielsweise die folgende Zeile am Anfang Ihres Skripts hinzu: #!/usr/bin/python3 oder #!/usr/bin/env python3
Tipp
Um Interrupts oder Abbruchsignale zu verarbeiten, implementieren Sie Graceful-Termination Mechanismen in Ihren Skripts. Wenn ein Skript diese Signale verarbeitet, kann es Bereinigungsaufgaben ausführen und ordnungsgemäß beendet werden, um sicherzustellen, dass Ressourcen ordnungsgemäß freigegeben werden. Fangen Sie beispielsweise Signale wie SIGINT (Interrupt-Signal) oder SIGTERM (Beendigungssignal) ab und definieren Sie benutzerdefinierte Aktionen, die beim Empfang ausgeführt werden sollen. Diese Aktionen können das Schließen geöffneter Dateien, das Freigeben erworbener Sperren oder das Bereinigen temporärer Ressourcen umfassen.
Weitere Informationen finden Sie im Leitfaden Intune Linux Custom Compliance Samples.
Hinzufügen eines Ermittlungsskripts zu Intune
Bevor Sie Ihr Skript in der Produktion bereitstellen, testen Sie es in einer isolierten Umgebung, um sicherzustellen, dass sich die von Ihnen verwendete Syntax wie erwartet verhält.
Hinweis
Der Skriptupload-Workflow unterstützt keine Bereichstags. Ihnen muss das Standardbereichstag zugewiesen sein, um benutzerdefinierte Skripts für die Complianceermittlung zu erstellen, zu bearbeiten oder anzuzeigen.
Melden Sie sich beim Microsoft Intune Admin Center an, und wechseln Sie zu Endpunktsicherheit>.Gerätekonformität>Skripts>hinzufügen. Wählen Sie dann Ihre Plattform aus.
Geben Sie unter "Grundlagen" einen beschreibenden Namen für das Skript ein.
Fügen Sie in den Einstellungen Ihr Skript zum Erkennungsskript hinzu. Überprüfen Sie Ihr Skript sorgfältig. Intune überprüft das Skript nicht auf Syntax- oder Programmierfehler.
Nur für Windows – Konfigurieren Sie unter "Einstellungen" das folgende Verhalten für das PowerShell-Skript:
- Führen Sie dieses Skript mit den angemeldeten Anmeldeinformationen aus: Standardmäßig wird das Skript im Systemkontext auf dem Gerät ausgeführt. Legen Sie diesen Wert auf Ja fest, damit es im Kontext des gerade angemeldeten Benutzers ausgeführt wird. Wenn der Benutzer nicht angemeldet ist, wird das Skript standardmäßig auf den Systemkontext zurückgesetzt.
- Skriptsignaturüberprüfung erzwingen – Weitere Informationen finden Sie unter about_Signing in der PowerShell-Dokumentation .
- Skript in 64-Bit-PowerShell-Host ausführen – Standardmäßig wird das Skript mit dem 32-Bit-PowerShell-Host ausgeführt. Legen Sie diesen Wert auf Ja fest, um die Ausführung des Skripts stattdessen über den 64-Bit-Host zu erzwingen.
Schließen Sie den Skripterstellungsprozess ab. Das Skript wird im Bereich "Skripts " angezeigt und kann beim Konfigurieren von Konformitätsrichtlinien ausgewählt werden.