Jeder, der in seinem Leben schon ein paar Geräte mit Autopilot registriert und dabei Fehler erlebt hat, kennt das Problem: Es kann schnell sehr mühsam werden, die Ursache zu finden, warum ein Enrollment fehlschlägt. Besonders wenn es um Netzwerk-Endpunkte geht, die nicht erreichbar sind, kann es sehr zeitaufwendig sein, diese zu finden. Um ein Gerät mit Autopilot zu registrieren, müssen zudem einige Voraussetzungen erfüllt sein. Damit du dies vor dem Enrollment prüfen kannst, habe ich ein Skript erstellt, das dir hilft, diese Anforderungen zu überprüfen.

Inhaltsverzeichnis
Warum jede Voraussetzung zählt
Windows Autopilot stützt sich auf eine ganze Kette von Diensten – sowohl in der Cloud als auch auf dem Gerät selbst. Fehlt nur eine einzige Voraussetzung, kann die gesamte Out-of-Box Experience (OOBE) mit einem irreführenden Fehlercode stehen bleiben. Typische Stolpersteine sind blockierte Firewall-Regeln, eine nicht unterstützte Windows-Edition, ein fehlendes oder deaktiviertes TPM sowie Proxy-Konfigurationen, die den Datenverkehr zu den Microsoft-Diensten stillschweigend verwerfen.
Wenn du jede Anforderung prüfst, bevor du startest, musst du das Gerät nicht mehr zurücksetzen, dich durch das Event-Log wühlen und von vorne beginnen. Stattdessen bekommst du eine klare, wiederholbare Checkliste, die dir genau sagt, was in Ordnung ist und was noch Aufmerksamkeit braucht. Gerade in größeren Rollouts spart dir das pro Gerät schnell mehrere Minuten und verhindert frustrierte Endanwender, die vor einem hängenden OOBE-Bildschirm sitzen.
Voraussetzungen
Es gibt einen sehr langen Microsoft-Docs-Artikel, der erklärt, welche Netzwerk-Endpunkte erreicht werden müssen, um ein Gerät zu registrieren, aber auch um Dienste wie Delivery Optimization und Co. zu nutzen. Du findest den Artikel unter folgendem Link. Darüber hinaus wird Autopilot nur auf den folgenden Windows-Versionen unterstützt:
- Windows 10 Pro
- Windows 10 Pro Education
- Windows 10 Pro for Workstations
- Windows 10 Enterprise
- Windows 10 Education
Achte neben der unterstützten Edition darauf, dass das Gerät einen funktionierenden TPM-2.0-Chip besitzt, sobald du Funktionen nutzen willst, die darauf aufbauen. Genauso wichtig sind eine korrekt eingestellte Systemuhr samt Zeitzone und eine funktionierende DNS-Auflösung auf dem aktiven Netzwerkadapter. Jeder dieser Punkte ist eine kleine, aber entscheidende Voraussetzung, die das Skript automatisch für dich überprüft – die Erreichbarkeit der Endpunkte ist dabei in restriktiven Unternehmensnetzwerken die am häufigsten übersehene Hürde.
Was bietet das Skript?
Du erhältst einen Überblick über verschiedene Attribute, die es sich lohnt, vor dem Enrollment anzusehen. Zunächst bekommst du allgemeine Geräteinformationen, um z. B. zu prüfen, welche Windows-Edition installiert ist oder ob das Gerät über ein TPM verfügt. So siehst du auf einen Blick, ob die erste grundlegende Voraussetzung überhaupt erfüllt ist, bevor du dich mit der Netzwerkkonfiguration beschäftigst.

Als Nächstes erhältst du Adapter-Informationen, um zu sehen, welche NIC auf dem Gerät installiert ist und welche IP-Adresse sie hat. Ein korrekt konfigurierter Netzwerkadapter ist die Grundlage für alle folgenden Verbindungstests – ohne gültige IP und funktionierendes Gateway laufen die Endpunkt-Prüfungen ins Leere.

Jetzt kommt der spannende Teil. In diesem Teil führe ich Verbindungstests zu verschiedenen URLs durch, die für ein Autopilot-Enrollment wichtig sind. Für jede URL erhältst du einen Status, sodass du sofort erkennst, ob ein blockierter Endpunkt die eigentliche Ursache für ein fehlgeschlagenes Enrollment auf genau diesem Gerät ist.

So verwendest du das Skript
- Drücke während der OOBE-Phase Shift + F10, um eine CMD zu öffnen (meist musst du die fn-Taste drücken)

- Gib powershell ein

- Führe den folgenden Befehl aus und bestätige mit Y/A:
Install-Script -Name Check-AutopilotPrerequisites

- Ändere die Execution Policy, damit du das Skript ausführen kannst:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
- Führe das Skript mit Check-AutopilotPrerequisites.ps1 aus

Tipps zum Lesen der Ergebnisse
Wenn das Skript durchgelaufen ist, arbeite die Ausgabe am besten von oben nach unten ab. Ein roter oder fehlgeschlagener Status neben einem Endpunkt deutet fast immer auf eine Firewall- oder Proxy-Regel hin, die noch geöffnet werden muss. Du kannst die Ergebnisse direkt mit der offiziellen Microsoft-Netzwerkdokumentation abgleichen und so jeden fehlgeschlagenen Punkt der genauen URL zuordnen, die auf die Allow-List gehört.
Wenn du viele Geräte verwaltest, lohnt es sich, die Prüfung fest in deinen Imaging-Prozess einzubauen, damit kein Gerät ohne sauberen Report die Werkbank verlässt. Hintergrundwissen zur Cloud-Seite findest du in der Microsoft-Learn-Dokumentation zu Autopilot. Wenn du mehr Inhalte rund um Intune und Device Management suchst, schau dir gerne die weiteren Artikel auf jannikreinhard.com an.
Fazit
Die Voraussetzungen vor einem Enrollment zu prüfen, ist einer der einfachsten Wege, um fehlgeschlagene Rollouts und frustrierte Endanwender zu vermeiden. Wenn du Ideen hast, wie ich das Skript erweitern oder verbessern kann, dann lass es mich wissen, und ich baue das gerne ein. Den Quellcode findest du unter dem folgenden Link. Ich hoffe, ich konnte dir mit diesem Skript helfen. Viel Spaß damit.
Bleib gesund, Cheers
Jannik
Perhaps you could include a connection check to time.windows.com
Thanks for the hint is added
[…] https://jannikreinhard.com/2022/08/24/check-autopilot-enrollment-prerequisite/ […]
Awesome script! Thanks for that! One additional point which may make sense also to check is if the (Get-TpmEndorsementKeyInfo).ManufacturerCertificates is empty AutoPilot will also fail as its needed (at least for WhiteGlove) to secure some things in the pre-provisioning steps.
Let me check this
smal bug > winODws Version and Install Date