Geräte in Windows Autopilot an den Start bringen

Autor: | Lesezeit: 7 Minuten | Kategorie: Automation, PowerShell, ScriptRunner

Kurzüberblick

Mit dem nachfolgenden Artikel erhalten Sie eine Möglichkeit Geräte einfacher und schneller als bisher in Windows Autopilot zu registrieren. Sie sparen sich dabei den manuellen Prozess mit der Erstellung und das Hochladen einer CSV-Datei und Automatisieren den Prozess für die zukünftige Anwendung.

Keine Zeit und Lust für eine aufwändige Registrierung von Geräten in Windows Autopilot?

Ich habe nach einer Möglichkeit gesucht wie Geräte oder virtuelle Maschinen in Autopilot ohne Installation oder Zurücksetzen registriert werden können. Es gibt verschiedene Möglichkeiten hierfür. Das Gerät kann manuell in die Website eingetragen werden. Eleganter geht das über die MicrosoftGraphAPI. Es gibt aber auch noch eine dritte Möglichkeit.

Windows Autopilot ist ein Microsoft Azure Dienst mit dem man Geräte mit Identifikatoren registrieren kann. Das funktioniert so ähnlich wie im Apple Device Enrollment Programm. Mit der Registrierung bekommt Microsoft Azure die notwendigen Informationen zur Verwendung der Geräte und Zuweisung von Profilen. Hierzu lässt man ein Script ausführen, das eine CSV-Datei für die Registrierung generiert und lädt diese dann in Windows Autopilot hoch.

Die Registrierung mit einer CSV-Datei zu lösen bringt aber leider einen gewissen Aufwand mit sich. Die CSV muss erstellt, ausgewertet und importiert werden. Gerne würde ich jedoch das Ganze Offline ohne die AzureAutomation lösen, da die Nutzung des Microsoft AzureAutomation Kontos ja auch Geld kostet. Wie kann ich also jemanden einen USB-Stick in die Hand drücken, mit dem dann dann die automatisierte Registrierung ohne Anmeldung in meinem Portal offline per Autopilot erfolgen kann?

Alternative Registrierung mit ScriptRunner in drei Schritten

1) Vorbereitung

  • Zuerst habe ich eine Microsoft Azure Enterprise Application mit der Bezeichnung „ScriptRunner-Intune-Connektor“ erstellt.
  • Dann habe ich einem Service-Account aus meiner Domäne Zugriff auf Application erteilt.
Application anlegen

Application anlegen

  • Anschließend habe ich einem Service-Account aus meiner Domäne Zugriff auf Application erteilt. Nun ist der Zugang zu Windows Autopilot möglich.
  • Damit die Anwendung in die Liste lesen & schreiben darf, habe ich noch die notwendigen Berechtigungen gepflegt.
Zugriff & Berechtigungen erteilen

Zugriff & Berechtigungen erteilen

2) Scriptlet für ScriptRunner

  • Als ScriptRunner Action habe ich ein Script geschrieben, das den „ScriptRunner-Intune-Connektor“ anspricht und mir so die Geräte in Windows Autopilot registriert.
  • Damit die MicrosoftGraphAPI die notwendige Information zur Ansprache der Anwendung bekommt wird die ApplicationID verwendet.

Das Script ist so aufgebaut, dass es sich aus dem PSCredential-Objekt einen Usernamen sowie Passwort extrahiert und damit ein Token für die Anwendung generiert. Anschließend wird das Modul „WindowsIntuneAutopilot“ geladen und damit werden die Informationen in Windows Autopilot hinzugefügt.

Mit ScriptRunner Application ansprechen

Mit ScriptRunner Application ansprechen

Die Action wartet nun solange bis das Gerät in der Liste auftaucht und synchronisiert wurde. Damit wird sichergestellt, dass das Gerät von ScriptRunner richtig in Windows Autopilot importiert wurde.

Geräteliste synchronisieren

Geräteliste synchronisieren

ScriptRunner schon installiert?

Sie erhalten ScriptRunner ganz unverbindlich und kostenlos als Download zum Selbstausprobieren oder sogar mit einer geführten Tour.
Mehr Informationen hierzu

3) PowerShell-Funktion zur Automatisierung

Mit den ersten beiden erledigten Abschnitten haben wir jetzt eine ScriptRunner Action die Geräte in Autopilot registrieren kann. Da ich nicht davon ausgehen kann das HardwareHash und Serialnummer dort eingetragen werden können, sind weiterhin manuelle Nacharbeiten notwendig. Wie kann man das besser lösen?

  • Ich habe mir eine Powershell Funktion geschrieben, die den ScriptRunner direkt über den Port 8091 anspricht und sozusagen die DelegateApp / AdminApp nachahmt.
  • Diese Funktion habe ich in ein Script gepackt damit es vom Client aus ausgeführt werden kann.
  • Das Script kann nun mit der Windows Installation-CD auf einen USB-Stick kopiert und nach der Installation direkt aufgerufen werden. Alternativ kann das Script auch beim Hochfahren des Clients direkt bei der Sprachauswahl ausgeführt werden.

#ProTipp: Bei der Sprachauswahl kann man mit „Shift+F10“ einen Commandprompt starten.

Script mit PowerShell Funktion für Client-Ausführung

Script mit PowerShell Funktion für Client-Ausführung

So sieht der Ablauf aus

ScriptRunner-Rezept als Zusammenfassung

  1. Eine Microsoft Azure Enterprise Application anlegen
  2. Der Application Zugriff gewähren
  3. Berechtigungen zum Lesen & Schreiben einrichten
  4. ScriptRunner Action für die Registrierung schreiben
  5. ApplicationID für Ansprache der Anwendung über die MicrosoftGraphAPI verwenden
  6. PowerShell-Funktion für Delegate/Admin-Ausführung über Port 8091 schreiben und in ein Script packen
  7. Script auf einen USB-Stick kopieren und ausführen

Fazit

Mit ScriptRunner können Anwender in drei Arbeitschritten Geräte in Windows Autopilot registrieren. Das Erstellen und Hochladen einer CSV-Datei fällt weg. Ohne manuelle Nacharbeiten ist der Ablauf nun recht einfach:

  • ein Gerät wird mit Windows 10 installiert/gestartet
  • Bei der Sprachauswahl einfach einfach den Command Prompt mit „Shift+F10“ aufrufen
  • Jetzt das Script aufrufen und das gewünschte Gerät wird automatisch in Windows Autopilot registriert

Mir hat ScriptRunner bei der Umsetzung geholfen, weil ich meine Geräte ohne viel Aufwand in Windows Autopilot registrieren konnte und nicht mehr viel Zeit bei der Registrierung von Geräte investieren musste.

Diese Beiträge könnten Sie auch interessieren:

ScriptRunner 2019R1, Network, Multi-Team
ScriptRunner Version 2018R3