Donnerstag, 26. September 2019

Microsoft 365 mit per Powershell mit Zugangsdaten versorgen

Wenn man seinen Schülerinnen und Schülerin über einen Rahmenvertrag eine Office 365 Lizenz geben möchte muss dies über die Azure-Cloud erfolgen. Hier sammle ich die Befehle die zum Hochladen der Benutzerdaten benutze.

Die folgenden Befehle sind KEIN SKRIPT! Die Befehle sollten einzeln ausgeführt werden und einzelne Teile gegebenenfalls angepasst werden.


Modul installieren
Install-Module MSOnline

zu Cloud verbinden
Connect-MsolService

Modul aktivieren
Import-Module MSOnline

Zum Auflisten aller Befehle:
Get-Command -Module MSOnline

Zum Auslesen der verfügbaren Lizenzen:
Get-MsolAccountSku
Kopieren Sie die gewünschte Lizenz, sie muss später beim Benutzer anlegen mitgegeben werden.

Alle User in der Cloud löschen (VORSICHT! ALLE User außer dem Admin werden gelöscht!)
Get-MsolUser -all | Remove-MsolUser -Force





Ließt die CSV Datei der paedML Importliste aus
$users=Import-Csv -Path 'H:\paedml_import_liste.csv'

Die Importierten Daten haben die Attribute Klasse, Vorname, Nachname, Benutzername und Passwort. Sie können nun für jeden User in der Liste eine Aktion ausführen lassen. Im Beispiel wird für jeden User der Vorname ausgegeben.

foreach($user in $users){    Write-Host $user.Vorname}
Die Azure-Cloud Benötigt für New-MsolUser (Neuer User anlegen)
-UserPrincipalName 
 Der Loginname mit Domäne z.B. vname.nname@meineschule.onmicrosoft.com
-DisplayName 
 Der angezeigte Name
-FirstName -LastName 
 Vor- und Nachname (eventuell nicht unbedingt benötigt?)
-Password
Das Passwort darf den Benutzernamen NICHT enthalten!
-ForceChangePassword $true 
Der User muss das Passwort beim ersten Login ändern, $false falls nicht
-Department 
Die passende Lizenz, welche mit  Get-MsolAccountSku ausgelesen wurde 
-LicenseAssignment *****schule:OFFICESUBSCRIPTION_STUDENT 

Microsoft verlangt einen Ländercode beim Zuweisen der Lizenz
-UsageLocation de

In der Abteilung kann die Klasse abgelegt werden.

Für meine Schule habe ich die Parameter wie folgt gesetzt:

New-MsolUser -UserPrincipalName "$($as.Benutzername).365@****schule.de" -DisplayName "$($as.Vorname) $($as.Nachname)" -FirstName $as.Vorname -LastName $as.Nachname -Password "$($as.Klasse)-Office!" -ForceChangePassword $true -Department $as.Klasse -LicenseAssignment ****schule:OFFICESUBSCRIPTION_STUDENT -UsageLocation de

Das Passwort ist nicht sehr sicher, aber kann von den Lehrern gut kommuniziert werden.
Es sieht bei uns dann so aus "SGGG13-1-Office!"

Das Anlegen komplett:
$users=Import-Csv -Path 'H:\paedml_import_liste.csv'
foreach($user in $users){    New-MsolUser -UserPrincipalName          "$($user.Benutzername).365@****schule.de" -DisplayName "$($user.Vorname) $($user.Nachname)" -FirstName $user.Vorname -LastName $user.Nachname -Password "$($user.Klasse)-Office!" -ForceChangePassword $true -Department $user.Klasse -LicenseAssignment ****schule:OFFICESUBSCRIPTION_STUDENT -UsageLocation de
}

Die User werden nun angelegt und die Lizenz zugewiesen.