Ich stehe oft vor der Herausforderung, dass Field Supporter ohne Intune-Adminrollen Autopilot-Hashes zu Intune hinzufügen müssen. Dieser Prozess kann zeitaufwendig und fehleranfällig sein.
In diesem Artikel zeige ich dir, wie du eine Logic App erstellst, um Hardware-Hashes ohne Adminrechte zu Autopilot hochzuladen. Diese App automatisiert das Hinzufügen von Geräten zu Autopilot.
Table of Contents
Voraussetzungen
Bevor du beginnst, brauchst du Folgendes:
- Eine Liste mit den Hardware-Hashes der Geräte, die du zu Autopilot hinzufügen willst
- Diese kannst du so erhalten: Manuelles Registrieren von Geräten mit Windows Autopilot | Microsoft Learn
- Ein Azure-Abonnement
- Eine Microsoft Intune-Lizenz
Lösung selbst erstellen
Create a SharePoint list
Erstelle eine SharePoint-Liste, die die Hardware-Hashes der Geräte enthält. Die Liste sollte mindestens zwei Spalten haben:
- Seriennummer
- Hardware-Hash
Navigiere zur SharePoint-Seite, auf der du die Liste erstellen willst. Klicke unter "Websiteinhalte" auf "Neu" und dann auf "Liste".
Vergib einen Namen, z. B. Autopilot Hash Upload.
Füge nun eine neue Spalte namens Hardware-Hash hinzu. Da eine einzelne Textzeile nur 255 Zeichen speichern kann, nutze das Feld "Mehrere Textzeilen".
Für eine bessere Benutzererfahrung kannst du den Titel in Seriennummer umbenennen.
So sieht meine Liste am Ende aus:
Logic App erstellen
Suche im Azure-Portal nach Logic App und klicke auf "Hinzufügen".
Wähle als Hosting-Option "Consumption-based", da dies kostenlos ist.
Definiere nun das Abonnement, die Ressourcengruppe und den Namen der Anwendung.
Nach einem Klick auf Überprüfen + Erstellen wirst du zur Logic App weitergeleitet.
Aktivierung und Berechtigungen für Managed Identity
Um Managed Identity zu nutzen, aktiviere sie unter "Identität" in der Logic App und setze den Status auf Ein.
Jetzt braucht die Logic App die richtigen Berechtigungen, um auf Intune/Autopilot zuzugreifen. Das Azure-Portal bietet hierfür leider keine UI. Doch mit PowerShell kannst du das schnell einrichten.
Falls du das Microsoft Graph PowerShell-Modul noch nicht hast, installiere es mit:
Install-Module Microsoft.Graph -Scope CurrentUser
Nutze dann dieses Skript, um der Managed Identity Berechtigungen zu geben:
# Connect to Microsoft Graph
Connect-MgGraph -Scopes "Application.Read.All","AppRoleAssignment.ReadWrite.All","RoleManagement.ReadWrite.Directory"
# You will be prompted for the Name of you Managed Identity
$MdId_Name = Read-Host "Name of your Managed Identity"
$MdId_ID = (Get-MgServicePrincipal -Filter "displayName eq '$MdId_Name'").id
# Adding Microsoft Graph permissions
$graphApp = Get-MgServicePrincipal -Filter "AppId eq '00000003-0000-0000-c000-000000000000'"
# Add the required Graph scopes
$graphScopes = @(
"DeviceManagementServiceConfig.ReadWrite.All"
)
ForEach($scope in $graphScopes){
$appRole = $graphApp.AppRoles | Where-Object {$_.Value -eq $scope}
if ($null -eq $appRole) { Write-Warning "Unable to find App Role for scope $scope"; continue; }
# Check if permissions isn't already assigned
$assignedAppRole = Get-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $MdId_ID | Where-Object { $_.AppRoleId -eq $appRole.Id -and $_.ResourceDisplayName -eq "Microsoft Graph" }
if ($null -eq $assignedAppRole) {
New-MgServicePrincipalAppRoleAssignment -PrincipalId $MdId_ID -ServicePrincipalId $MdId_ID -ResourceId $graphApp.Id -AppRoleId $appRole.Id
}else{
write-host "Scope $scope already assigned"
}
}
Trigger hinzufügen
Füge einen Trigger hinzu, der die Logic App auslöst, wenn ein neues Element zur SharePoint-Liste hinzugefügt oder geändert wird.
Gehe dazu in den Logic App Designer, klicke auf "Trigger hinzufügen":
Suche anschliessend nach "SharePoint". Wähle den Trigger "Wenn ein Element erstellt oder geändert wird".
Verbinde den SharePoint-Connector mit einem Konto, das Zugriff auf die Liste hat. Leider kann hier keine Managed Identity genutzt werden. Stelle also sicher, dass du ein geschütztes Servicekonto verwendest.
Aktion hinzufügen
Füge eine HTTP-Aktion hinzu, um den Autopilot-Hash aus der SharePoint-Liste hochzuladen.
Klicke unterhalb des Triggers auf das Pluszeichen und wähle Aktion hinzufügen. Suche nach HTTP und wähle es aus.
Konfiguration der HTTP-Aktion (Hash Upload)
Configure the HTTP action as follows:
Method | Post |
URI | https://graph.microsoft.com/beta/deviceManagement/importedWindowsAutopilotDeviceIdentities |
Body | { "serialNumber": "", "hardwareIdentifier": "" } |
Authentification Type | Managed Identity / System Assigned |
Audience | https://graph.microsoft.com |
Logic App testen
Teste deine Logic App, indem du ein neues Element zur SharePoint-Liste hinzufügst. Innerhalb von 1-5 Minuten sollte die App den Hardware-Hash zu Autopilot hochladen.
Zusätzliche Tipps & Verbesserungen
- Nutze die Aktion E-Mail senden, um Benachrichtigungen zu erhalten, wenn ein Gerät erfolgreich zu Autopilot hinzugefügt wurde.
- Baue eine Fehlerbehandlung ein, um Benachrichtigungen bei Problemen zu erhalten.
- Füge eine Option hinzu, um Hashes zu löschen, wenn sie nicht mehr benötigt werden.
Ich hoffe, dieser Artikel hilft dir weiter! Falls du Fragen hast, hinterlasse gerne einen Kommentar.