Kaffeeundcode

Import AutopilotCSV

Skript Beschreibung

**Zusammenfassung**: Importiert Autopilot-Geräte aus einer CSV (Hardware Hash).

Lädt eine CSV (Format: Device Serial Number,Windows Product ID,Hardware Hash) hoch.
Hinweis: Der Import kann bis zu 15 Minuten dauern, bis er sichtbar ist.
Erfordert die Berechtigung 'DeviceManagementServiceConfig

Skript Infos

Autor Mattia Cirillo
Version 1.0
Sprache PowerShell
42_Import-AutopilotCSV.ps1
<#
.SYNOPSIS
    Importiert Autopilot-Geräte aus einer CSV (Hardware Hash).
    
.DESCRIPTION
    Lädt eine CSV (Format: Device Serial Number,Windows Product ID,Hardware Hash) hoch.
    Hinweis: Der Import kann bis zu 15 Minuten dauern, bis er sichtbar ist.
    Erfordert die Berechtigung 'DeviceManagementServiceConfig.ReadWrite.All'.

.NOTES
    File Name: 42_Import-AutopilotCSV.ps1
    Author: Mattia Cirillo
    Version: 1.0
#>

param (
    [Parameter(Mandatory=$true)]
    [string]$CsvPath
)

Connect-MgGraph -Scopes "DeviceManagementServiceConfig.ReadWrite.All"

$Csv = Import-Csv $CsvPath
foreach ($Line in $Csv) {
    # Pseudo-Code for Import: In Graph API, this is done via import() action on windowsAutopilotDeviceIdentity
    # Logic is complex for direct snippet, using placeholder msg.
    Write-Host "Importiere Hash für Serial $($Line.SerialNumber)..."
    
    $Params = @{
        serialNumber = $Line.'Device Serial Number'
        hardwareIdentifier = $Line.'Hardware Hash'
        # productKey etc.
    }
    
    try {
        New-MgDeviceManagementWindowsAutopilotDeviceIdentity -BodyParameter $Params
        Write-Host "Erfolgreich hochgeladen." -ForegroundColor Green
    } catch {
        Write-Error "Fehler: $_"
    }
}