Passwörter für Accounts setzen und Daten als CSV Datei exportieren

Hier werden mit Hilfe des Skripts Passwörter für z.B.: alle Schüler gesetzt und im Anschluss die Daten der Schüler in einer CSV Datei exportiert. Diese kann man dann in Excel importieren, nach Klassen sortieren und den Schülern ausgeben.

Die Ausgabe ist im Benutzerordner des ausführenden Benutzers zu finden.

Das Skript benötigt das AzureAD Modul, welches vorher installiert werden muss:

Install-Module AzureAD
# Verbindung mit dem AzureAD Modul herstellen, wenn noch keine Verbindung besteht
try{
    Get-AzureADTenantDetail
}catch{
    Connect-AzureAD 
}

# Listet alle Lizenzen auf
Get-AzureAdSubscribedSku | Select-Object -Property SkuPartNumber,SkuId

# Sucht Nutzer nach der Lizenz, diese muss hier angegeben werden
$userList = Get-AzureADUser -All $true | Where-Object {($_.assignedLicenses).SkuId -contains "314c4481-f395-4525-be8b-2ec4bb1e9d91"}

$UserResults=@()

foreach($user in $userList){
    # erstellt ein Passwort mit der Aufforderung, nach dem ersten Login ein neues anzulegen
    $password = ConvertTo-SecureString -String "Schule123!" -Force –AsPlainText
    $objectID = $user.ObjectId
    Set-AzureADUserPassword -ObjectId $objectID -Password $password -ForceChangePasswordNextLogin $true

    # Eigenschaften die mit ausgegeben werden
    $UserProperties = @{
        Benutzername=$user.userPrincipalName
        Vorname=$user.givenName
        Nachname=$user.surname
        Abteilung=$user.Department
        Passwort= "Schule123!"
    }

    $UserResults += New-Object psobject -Property $UserProperties
}

# Speichert die Ergebnisse in eine csv Datei in das Benutzerverzeichnis
$UserResults | Export-Csv -Encoding UTF8 -NoTypeInformation -Path 'Office_Accounts.csv'