Magic Quadrant™ für Privileged Access Management 2025: Netwrix zum vierten Jahr in Folge anerkannt. Laden Sie den Bericht herunter.

Plattform
Ressourcen­zentrumBlog
Zehn nützlichste PowerShell-Befehle für Office 365

Zehn nützlichste PowerShell-Befehle für Office 365

Sep 19, 2018

Die Verwendung von Windows PowerShell zur Verwaltung von Office 365 mag anfangs ungewöhnlich erscheinen. Schließlich versprechen Cloud-Lösungen Einfachheit und Benutzerfreundlichkeit – Adjektive, die selten im Zusammenhang mit Windows PowerShell verwendet werden. Aber bleiben Sie dran. In diesem Artikel zeige ich Ihnen die zehn nützlichsten Office 365 PowerShell-Cmdlets für Systemadministratoren. Vielleicht stimmen Sie nach dem Lesen dieser Anweisungen zu, dass PowerShell auch für cloudbasierte Systeme ein wertvolles Werkzeug sein kann.

1. Verbindung zu einer Office 365-Instanz mit PowerShell herstellen

Zuerst müssen wir das Office 365-Modul für Windows PowerShell installieren und eine Verbindung zur Office 365-Instanz herstellen. Gehen Sie folgendermaßen vor:

1. Laden Sie herunter und installieren Sie den Microsoft Online Services Sign-In Assistant for IT Professionals RTW.

2. Importieren Sie das Online Services PowerShell-Modul für Microsoft Azure Active Directory und Office 365:

      Install-Module -Name AzureAD
Install-Module -Name MSOnline
      

3. Geben Sie Ihre Office 365-Admin-Anmeldeinformationen ein:

      $Cred = Get-Credential
      

4. Erstellen Sie eine Remote-PowerShell-Sitzung:

      $O365 = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic -AllowRedirection
      

5. Importieren Sie die Sitzungsbefehle in die lokale Windows PowerShell-Sitzung:

      Import-PSSession $O365
      

6. Verbinden Sie sich mit allen Office 365-Diensten:

      Connect-MsolService –Credential $O365
      

Sobald wir die Module für Windows PowerShell importiert haben, sind wir bereit, unsere Office 365-Instanz zu verwalten.

2. Verbindungsaufbau zu Exchange Online und SharePoint Online mit PowerShell

Wir können uns auch separat mit Microsoft Exchange Online und Microsoft SharePoint Online verbinden. Die Verbindung zu Exchange Online mit PowerShell ist im Grunde genommen dasselbe wie die Verbindung zu Office 365:

      $Cred = Get-Credential

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Cred -Authentication Basic –AllowRedirection
      

Die Verbindung zu SharePoint Online unterscheidet sich ein wenig. Um Ihren SharePoint Online-Mandanten zu verwalten, müssen Sie zuerst das Feature SharePoint Online Management Shell herunterladen und installieren. Führen Sie dann das folgende PowerShell-Skript aus:

      $admin="Admin@enterprise.onmicrosoft.com"
$orgname="enterprise"
$userCred = Get-Credential -UserName $admin -Message "Type the password."
Connect-SPOService -Url https://$orgname-admin.sharepoint.com -Credential $userCred
      

3. Eine Liste der verfügbaren Office 365 PowerShell-Cmdlets erhalten

Um eine Liste aller verfügbaren Office 365 PowerShell commands zu erhalten, müssen wir das Cmdlet Get-Command ausführen:

      Get-Command -module MSOnline
      
Image

Wir können auch die Liste der Cmdlets für Azure Active Directory erhalten:

      Get-Command -module AzureAD
      

4. Eine Liste aller Office 365-Benutzer mit PowerShell erhalten

Wenn Sie eine Liste der Office 365-Benutzer und Lizenzen bereitstellen müssen, verwenden Sie das Get-MsolUser-Cmdlet. Es ruft alle Benutzer mit einer gültigen Lizenz im Office 365-Mandanten ab, einschließlich der Parameter DisplayName, City, Department und ObjectID.

      Get-MsolUser | Select DisplayName, City, Department, ObjectID
      

Um die Anzahl der Kontolizenzen zu sehen, müssen Sie folgendes Cmdlet ausführen:

      Get-MsolAccountSku
      

Um die verfügbaren Dienste aufzulisten, führen Sie das folgende Skript aus:

      Get-MsolAccountSku | select -ExpandProperty ServiceStatus
      
Image

5. Erstellen eines neuen Benutzers in Office 365 mit PowerShell

Um einen neuen Benutzer zu erstellen, verwenden wir den Befehl New-MsolUser:

      New-MsolUser -UserPrincipalName JSmith@enterprise.onmicrosoft.com -DisplayName "John Smith"  -FirstName “John” -LastName “Smith”
      

Das System wird die Passwort- und Lizenzstatusdaten des Benutzers ausgeben.

6. Entfernen eines Benutzers von allen Seiten mit PowerShell

Um einen Benutzer gleichzeitig von allen Seiten zu entfernen, verwenden wir den folgenden Befehl:

      Get-SPOSite | ForEach {Remove-SPOUser -Site $_.Url -LoginName " JSmith@enterprise.onmicrosoft.com"}
      

7. Ändern eines Passworts in Office 365 mit PowerShell

Wenn Sie das Passwort für ein Konto ändern müssen, verwenden Sie das Cmdlet Set-MsolUserPassword. Sie können entweder ein neues Passwort angeben, wie im Beispiel unten, oder den Parameter -NewPassword weglassen, damit das System automatisch ein zufälliges Passwort generiert.

      Set-MsolUserPassword -UserPrincipalName JSmith@Netwrixqcspa.onmicrosoft.com -NewPassword P@SSw0rd!
      

8. Verwaltung der Gruppenmitgliedschaft in Office 365 mit PowerShell

Wir können auch Office 365-Gruppen mithilfe von PowerShell-Cmdlets verwalten. Um eine Liste aller Gruppen in Office 365 abzurufen, verwenden Sie einfach den Befehl Get-MsolGroup. Um Benutzer zu einer Gruppe hinzuzufügen, verwenden Sie den Befehl Add-MsolGroupMember:

      Add-MsolGroupMember -GroupObjectId 5b61d9e1-a13f-4a2d-b5ba-773cebc08eec -GroupMemberObjectId a56cae92-a8b9-4fd0-acfc-6773a5c1c767 -GroupMembertype user
      

GroupObjectId ist die hexadezimale ID der Gruppe, die Sie mit dem Befehl Get-MsolGroup erhalten können. GroupMemberObejctId ist die Benutzerobjekt-ID, die Sie finden können, indem Sie diesen Befehl ausführen:

      Get-MsolUser | Select ObjectID.
      

Um einen Benutzer aus einer Gruppe zu entfernen, verwenden Sie das Cmdlet Remove-MsoGroupMember.

9. Erstellen einer SharePoint-Sitekollektion mit PowerShell

Wir können auch eine SharePoint-Site-Sammlung mit PowerShell erstellen:

      New-SPOSite -Url "https://enterprise.sharepoint.com/sites/NewSite" -Owner "JSmith@enterprise.onmicrosoft.com" -StorageQuota "100" -Title "New Site"
      

10. Erstellen von Berichten in Office 365 mit PowerShell

PowerShell ist ein großartiges Werkzeug, um verschiedene Berichte zu erstellen. Hier sind einige nützliche Office 365-Berichte, die über PowerShell erstellt wurden:

  • Details zu allen Postfächern:
      Get-mailbox | get-MailboxStatistics
      
  • Eine Liste aller Postfächer, in die in den letzten 30 Tagen nicht eingeloggt wurde:
      Get-Mailbox –RecipientType 'UserMailbox' | Get-MailboxStatistics | Sort-Object LastLogonTime | Where {$_.LastLogonTime –lt ([DateTime]::Now).AddDays(-30) } | Format-Table DisplayName, LastLogonTime
      
  • Ein Bericht über die Sender und Empfänger mit dem höchsten Volumen:
      Get-MailTrafficTopReport
      
  • Ein Bericht über alle Gruppen und ihre Mitglieder:
      function Get-AllO365Members
{
    Try
    {   
     $O365Groups=Get-UnifiedGroup
        foreach ($O365Group in $O365Groups) 
        { 
            Write-Host "Group Membership: " $O365Group.DisplayName -ForegroundColor Green
            Get-UnifiedGroupLinks –Identity $O365Group.Identity –LinkType Members
            Write-Host
        } 
    }
    catch [System.Exception]
    {
        Write-Host -ForegroundColor Red $_.Exception.ToString()   
    } 
}
Get-AllO365Members
      

Beachten Sie, dass die meisten der Reporting-Cmdlets im Januar 2018 veraltet waren und durch die neue MS Graph Reporting API ersetzt wurden. Daher sind einige Berichte jetzt nur noch im Office 365 Security & Compliance Center verfügbar.

Wie Sie sehen können, ist die Verwaltung von Office 365 mit PowerShell schnell und einfach, wie auch bei Microsoft Windows Server. Vergessen Sie nicht, alle Änderungen, die Sie in Ihrer Office 365-Umgebung vornehmen, zu überwachen; es wird Ihnen helfen, Probleme schneller zu beheben und sich davon zu erholen. Um zu erfahren, wie Sie die native Überwachung in Ihrer Office 365-Umgebung konfigurieren, werfen Sie einen Blick in unseren Exchange Online Auditing Quick Reference Guide und Exchange Online Mailbox Auditing Quick Reference Guide. Wenn Sie handlungsrelevante Informationen darüber wünschen, was in Ihrer Office 365-Umgebung vor sich geht, zusammen mit flexiblen Berichten, proaktiven Warnungen, Google-ähnlicher Suche und vielem mehr, fordern Sie eine kostenlose Testversion von Netwrix Auditor for Office 365 an.

Teilen auf

Erfahren Sie mehr

Über den Autor

Asset Not Found

Jeff Melnick

Direktor für Systemtechnik

Jeff ist ehemaliger Director of Global Solutions Engineering bei Netwrix. Er ist ein langjähriger Netwrix-Blogger, Redner und Präsentator. Im Netwrix-Blog teilt Jeff Lifehacks, Tipps und Tricks, die Ihre Systemadministrationserfahrung erheblich verbessern können.