Office 365 Benutzer verwalten mit PowerShell
Office 365 ist ein Onlinedienst von Microsoft für die Arbeitswelt. Als Administrator für Office 365 kann man im Office 365 Admin Center Benutzer anlegen, Benutzer löschen und Benutzer verwalten. Jeder User benötigt ein Konto um sich anmelden und darauf zugreifen zu können. Natürlich kann man die Verwaltung der Benutzer über PowerShell erledigen. Wie das funktioniert und welche PowerShell Befehle man für die Office 365 Benutzer benötigt, seht ihr in diesem Beitrag.
Mit PowerShell sind uns für das Verwalten eines Office 365 Benutzers (fast) keine Grenzen gesetzt. Wir haben uns die Arbeit gemacht für euch eine ganze Liste an Befehlen zusammenzufassen und aufzulisten. Klar kann man einen Benutzer über das Office 365 Admin Center anlegen oder verwalten. Sobald man aber eine ganze Liste an Benutzer anlegen oder löschen muss, so ist natürlich PowerShell performanter und schneller. Wir haben für euch einige Befehle in der Übersicht:
Office 365 Verbindung herstellen
Bevor wir PowerShell für Office365 verwenden können, müssen noch ein paar Module installiert werden und wenige Systemvoraussetzungen erfüllt sein. Diese sind aber relativ übersichtlich:
PowerShell Module
-
Microsoft Online Services-Anmelde-Assistent für IT-Experten RTW
- Microsoft Azure Active Directory Connect
Betriebssystem
- Windows 7 oder höher
- Windows Server 2008 R2 SP1 oder höher
- 64 bit Betriebssystem
Konto
Das Konto, welches die Verbindung zu Office 365 herstellt, muss Mitglied der “globalen Office 365 Administratoren” sein
Nachdem die Module installiert wurden und die anderen Voraussetzungen erfüllt sind, findet man im Windows Startmenü den Eintrag “Microsoft Azure Active Directory Module for Windows PowerShell“.
Jetzt starten wir die PowerShell Konsole und benötigen folgende Befehle um uns mit Office Online zu connecten.
# Anmeldeinformationen in Variable speichern $cred = Get-Credential # Mit Anmeldeinformationen verbinden Connect-MsolService -Credential $cred
Nun seid ihr mit der Windows PowerShell zu Office / Azure verbunden.
Office 365 Benutzer verwalten
Nachdem die Verbindung zu dem Office 365 Cloud Dienst hergestellt wurde, kann man nun die Benutzer verwalten. Hierzu zählt natürlich das Anlegen, aber auch Löschen eines Benutzers. Auch Kennwort / Passwort Richtlinien können angepasst werden.
Benutzer anlegen
Um einen Benutzer in Office 365 anzulegen, ist auch nur ein einfacher Befehl notwendig. Ansich kein Hexenwerk, allerdings hat ein Benutzer natürlich viele Parameter. Beispiele hierfür wären Nachname, Vorname, Telefon, und viele weitere. Hier erstmal alle verfügbaren Parameter beim Anlegen eines Benutzers.
Parameter
Beschreibung
DisplayName
Anzeigename des Benutzers, z.B. “Johannes Mustermann”
UserPrincipalName
Accountname / Benutzername, z.B. [email protected]
FirstName
Vorname
LastName
Nachname
UsageLocation
Das ist der Ländercode, wie z.B. “DE”, “AT” oder “GB”. Wird dem User eine Lizenz zugewiesen, sind manche Inhalte zum Beispiel nur in Deutschland verfügbar.
LicenseAssignment
Lizenzierungsplan. Verfügbare Lizenzen können mit “Get-MsolAccountSku” angezeigt werden.
Password
Das Passwort des Benutzers. Wird kein Kennwort angegeben, so wird ein zufälliges Passwort generiert.
Um nun einen Benutzer anlegen zu können, benötigen wir im ersten Schritt nur den “DisplayName” und “UserPrincipalName“.
New-MsolUser -DisplayName "Anzeigename" -UserPrincipalName "Benutzername"
Mit diesem einfachen Befehl wurde nun ein neuer Benutzer erstellt. Natürlich kann man noch mehr Parameter mitgeben:
New-MsolUser -DisplayName "Anzeigename" -FirstName "Johannes" -LastName "Mustermann" -UserPrincipalName "[email protected] -UsageLocation "DE" -LicenseAssignment tenantname:LICENSE -Password yourpassword
Somit wurde nun ein Benutzer mit vielen Parametern angelegt.
Mehrere Benutzer anlegen
Wer eine CSV Datei zur Hand hat, in der alle Benutzer mit den Parametern gepflegt sind, so kann man mit dieser CSV Datei gleichzeitig mehrere Office 365 Benutzer anlegen. Hierzu erweitern wir Obenstehenden Befehl.
Import-Csv -Path "C:\yourSourceCSV\user.csv" | foreach {New-MsolUser -UserPrincipalName $_.UserPrincipalName -DisplayName $_.DisplayName -FirstName $_.FirstName -LastName $_.LastName -UsageLocation $_.UsageLocation -LicenseAssignment $_.AccountSkuId} | Export-Csv -Path "C:\yourImportResult.csv"
Hier wird nun die CSV Datei gelesen, und für jede Zeile der “New-MsolUser” Befehl ausgeführt. Die CSV Datei müsste für diesen Befehl folgenden Aufbau haben:
UserPrincipalName,DisplayName,FirstName,LastName,UsageLocation,AccountSkuId [email protected],Hans Dampf,Hans,Dampf,DE,yourdomain:ENTERPRISEPACK [email protected],Max Muster,Max,Muster,AT,yourdomain:ENTERPRISEPACK
Das Ergebnis wird dann als CSV Datei ausgegeben, beziehungsweise abgespeichert.
Benutzer löschen
Das Löschen eines Office Benutzers ist eigentlich am einfachsten. Hier werden nämlich so gut wie keine Parameter benötigt. Hier verwendet man “Remove-MsolUser“.
Remove-MsolUser -UserPrincipalName "[email protected]"
Achtung! Hier wird der Benutzer nicht endgültig gelöscht, sondern nur in den Papierkorb verschoben. Das ist quasi ein “Sicherheitsfeature”. Natürlich kann man sich den Inhalt des Papierkorbs auch anzeigen lassen.
Get-MsolUser -ReturnDeletedUsers
Nun wird der Inhalt des Papierkorbs ausgegeben. So einfach ist das Office 365 Benutzer löschen.
Benutzername ändern
Es ist auch möglich den Benutzernamen eines Benutzers zu ändern. Ansich wird das nicht oft benötigt. Aber wenn eine Person heiratet und hierbei einen anderen Namen annimmt, so muss natürlich der Benutzername geändert werden. Das ist auch relativ einfach.
Set-MsolUserPrincipalName -UserPrincipalName [email protected] -NewUserPrincipalName [email protected]
Hier muss der alte Benutzername, und natürlich der neue Username angegeben werden. Somit Ändert das System dann den Office 365 Benutzernamen.
Passwort läuft nie ab
Wie in einer lokalen Domäne ist es auch hier bei Office 365 möglich, dass die Benutzer nie ihr Kennwort ändern müssen. Hier kann man setzen, dass das Office 365 Benutzer Passwort nie abläuft. Es gibt einen Parameter “PasswordNeverExpires“, welcher auf “$True” gesetzt werden muss.
Set-MsolUser –UserPrincipalName [email protected] -PasswordNeverExpires $True
Jetzt läuft das Kennwort des Benutzer nie ab. Möchte man dies für alle Office 365 Benutzer setzen, so ist das natürlich überhaupt kein Problem.
Get-MsolUser | Set-MsolUser –PasswordNeverExpires $True
Mit “Get-MsolUser” werden alle Benutzer gewählt, und das NeverExpires gesetzt. Somit muss kein User mehr sein Kennwort nach einem bestimmten Zeitraum ändern.
Passwort Richtlinie
Um die Richtlinie der Passwörter zu hinterlegen, ist auch nur ein kleiner PowerShell Befehl notwendig. Hier wird hinterlegt nach wie vielen Tagen die Passwort ändern Benachrichtigung erscheint und wie lange ein Kennwort gültig ist. Hier muss natürlich auch die Domain angegeben werden, für die die Password Policy gültig ist.
Set-MsolPasswordPolicy -DomainName yourdomain.com -NotificationDays 15 -ValidityPeriod 180
Dieser Befehl besagt, dass das Benutzer Passwort 180 Tage lang gültig ist, aber 15 Tage davor eine Erinnerung zum Ändern des Kennworts erscheint.
Benutzer Passwort setzen
Einem vorhandenen Benutzer kann ein neues Kennwort gesetzt werden. Dazu verwenden wir den Befehl “Set-MsolUserPassword“. Als Parameter benötigen wir natürlich den Benutzernamen und das neue Kennwort des Office 365 Benutzers.
Set-MsolUserPassword -UserPrincipalName [email protected] -NewPassword yourpassword -ForceChangePassword $False
Nachdem der Befehl abgesetzt wurde, hat der Office User ein neues Kennwort. Auffällig hier ist noch der Parameter “-ForceChangePassword“. Wenn dieser auf “$False” gesetzt ist, muss der Benutzer kein neues Passwort hinterlegen.
Das bedeutet, wenn der Benutzer nur ein temporäres Kennwort bekommen soll, und danach sein Kennwort ändern muss, so setzen wir diesen Parameter auf “$True“. Der Befehl würde dann folgendermaßen aussehen:
Set-MsolUserPassword -UserPrincipalName [email protected] -NewPassword yourpassword -ForceChangePassword $True
Wird dieser Befehl angesetzt, kann sich der Benutzer mit dem temporären Kennwort anmelden, muss dieses aber nach der Anmeldung ändern.
Wie auch so oft können wir das auf alle Office 365 User anwenden. Hier wird der Befehl erweitert:
Get-MsolUser |%{Set-MsolUserPassword -userPrincipalName $_.UserPrincipalName –NewPassword yourPassword -ForceChangePassword $False}
Hier wird das Kennwort ALLER Benutzer auf “yourPassword” zurückgesetzt.
Benutzer Passwort ändern lassen
Viele Administratoren wollen nicht für Benutzer feste Kennwörter vergeben. Ist auch verständlich. Deswegen bietet uns Microsoft die Möglichkeit, das Passwort ändern für Benutzer anstoßen zu lassen. Das bedeutet, der Benutzer bekommt die Aufforderung beim nächsten Logon, dass das Kennwort geändert werden soll. Dafür gibt es den Parameter “-ForceChangePasswordOnly $true“. Das funktioniert für einen einzelnen User folgendermaßen:
Set-MsolUserPassword -UserPrincipalName [email protected] -ForceChangePasswordOnly $true -ForceChangePassword $true
Damit wird der angegebene Benutzer aufgefordert das Kennwort zu ändern. Das passiert in der Regel beim nachten Anmelden am Portal.
Für ALLE 365 Benutzer lässt sich das natürlich ebenfalls ausführen, damit das Kennwort ändern angestoßen wird:
Get-MsolUser -All | Set-MsolUserPassword -ForceChangePasswordOnly $true -ForceChangePassword $true
Nach absetzen des Befehls werden alle Benutzer zum Passwort ändern aufgefordert.