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.

TheDigitalArtist / Pixabay

 

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

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

 

Office 365 Verbindung herstellen connect

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.

Johannes Huber
 

In seiner Freizeit macht Johannes nichts lieber, als für ITnator Beiträge zu schreiben. Input bekommt er hierfür von Problemen in der IT Administration von Servern, Clients und vielen weiteren IT Komponenten.

Click Here to Leave a Comment Below 0 comments