Wenn man einen neuen Computer mit Autopilot aufsetzt, erhält er einen Namen in der Form von Desktop-(7 zufällige Buchstaben oder Nummern).
Mit einem „Autopilot Deployment Profile“ kann man den Namen etwas genauer steuern, indem man ein „device name template“ verfasst. So kann man den Namen hochzählen lassen (z.B. Surface0001,…) oder die Seriennummer im Computernamen verwenden.

Ich finde beides nicht ideal, sondern möchte meine eigene Namensgebung verwenden, die ich für mein Inventar sinnvoll nutzen kann. Seit wir beschlossen haben, dass auch unsere Lehrpersonen mobile Geräte erhalten habe ich die Namensgebung angepasst. So heisst ein Gerät z.B. OSAL0100. Die ersten 3 Buchstaben stehen für die Schulgemeinde, OSA für die Oberstufe Altstätten. Beim 4. Buchstaben gibt es ein L für Geräte der Lehrpersonen und ein S für Geräte der Schüler/-innen. Die erste Ziffer gibt das Kaufjahr an, OSAL0100 wurde dieses Jahr gekauft, PSAS1099 wird erst 2021 gekauft. Die letzten 3 Ziffern werden einfach hochgezählt.
Man könnte den Gerätenamen in Intune jederzeit ändern, indem man das Gerät auswählt und „Rename Device“ wählt.

Es gibt aber auch die Möglichkeit, den Gerätenamen schon vor der Erstkonfiguration vorzugeben. Dazu wählt man „Devices“ -> „Enroll Devices“ -> „Devices – Manage Windows Autopilot devices“

Hier sucht man nun nach der Seriennummer, wählt diese aus und trägt den gewünschten Device Name rechts aussen ein.

Bei vielen Geräten ist dieses Vorgehen aber recht umständlich. Wie erwartet lässt sich diese Namensänderung auch über Powershell erreichen.
Hinweis: Bei der ersten Verwendung muss man die benötigten Module installieren resp. importieren. Bei einer späteren Verwendung sind diese schon vorhanden.
Install-Module -name Microsoft.Graph.Intune
Import-Module -name Microsoft.Graph.Intune
Install-Module -Name Windowsautopilotintune
Nun muss man sich am Microsoft Graph mit einem Konto mit entsprechenden Rechten anmelden.
Connect-MSGraph

Nachdem man verbunden ist, kann man über die Seriennummer die ID auslesen:
Get-AutopilotDevice -serial 0123456789

Nun kann man mit Set-AutopilotDevice dem Computer mit der entsprechenden ID den gewünschten Anzeigenamen vergeben.
Set-AutopilotDevice -id 53xxxxx-xxx-xxxx-xxxx-xxxxxxxx9cb -displayName OSAS0005

Allenfalls möchte man noch einen Autopilot Sync auslösen:
Invoke-AutopilotSync

Nun ja, allenfalls schneller, als mit der Maus im Portal, aber immer noch sehr aufwändig. Wie kann man das nun automatisch für hunderte von neuen Geräten machen?
Dazu erstellt man eine CSV Datei mit den beiden Spalten „Seriennummer“ und „Computername“ und liest die beiden Werte aus der CSV Datei mit einem Skript ein:
Import-CSV "autopilotnames.csv" | ForEach-Object {
$id = (Get-AutopilotDevice -serial $_.Seriennummer).id
Set-AutopilotDevice -id $id -displayName $_.Computername
}
Du kannst aber auch mehrere Richtlinien definieren für jeden Standort und diese Zuweisung definieren …
Das verstehe ich nicht ganz. In Autopilot ist ja nur die Seriennummer und nicht der Standort eines Geräts hinterlegt. Wie merkt denn Autopilot, welche „Zuweisung“ (ich nehme an, du meinst ein „Autopilot Deployment Profile“) zu verwenden ist? Wenn ich Gruppen mit Seriennummern pro Standort erfassen muss, ist der Aufwand ja deutlich grösser.