Getty Images/iStockphoto
CLI für Microsoft 365: Per Befehlzeile steuern und verwalten
Soll etwas schnell und effizient oder per Skript erledigt werden, erfolgt das per Befehlszeile. Admins können CLI für Microsoft 365 für die Verwaltung der Plattform nutzen.
Für Administratoren, die mit Azure- und Microsoft-365-Diensten arbeiten, gibt es keinen Mangel an Verwaltungsoptionen.
Sie werden unweigerlich anfangen, Skripte zu schreiben, um Konfigurationen zu verwalten oder regelmäßige Aufgaben mit diesen Produkten zu automatisieren. Die Flexibilität, die diese Dienste für die Skripterstellung bieten, ist ein großer Anreiz, aber welche Skriptsprache verwenden Sie? Sollen es die standardmäßigen PowerShell-Module, Graph PowerShell SDK, REST-APIs, Azure CLI, CLI für Microsoft 365 – früher Office 365 CLI – oder sogar Microsoft Graph sein? Die CLI für Microsoft 365 hat bestimmte Vorteile, wie zum Beispiel Interaktion und Flexibilität, was sie zu einer attraktiven Option für vielbeschäftigte IT-Mitarbeiter macht.
Warum brauchen Administratoren eine Befehlszeilenschnittstelle?
Eine Befehlszeilenschnittstelle (CLI) ermöglicht die Interaktion mit einem Computerprogramm durch die Eingabe von Befehlen in ein Terminal anstelle einer grafischen Benutzeroberfläche. Mit einer Befehlszeilenschnittstelle können Sie Aufgaben automatisieren, die Systemverwaltung durchführen und Skripte effizienter als mit einer herkömmlichen grafischen Benutzeroberfläche ausführen.
Wenn Sie eine CLI mit Microsoft 365 und Azure verwenden, um Cloud-Dienste mit textbasierten Befehlen zu verwalten, haben Sie mehrere Vorteile:
- erweiterte Automatisierungsmöglichkeiten
- Skripting-Schnittstelle
- bessere Kontrolle über komplexe Aufgaben
- effizientere Verwaltung und Bereitstellung von Ressourcen in der Cloud
Die meisten Verwaltungsaufgaben für Azure und Microsoft 365 können Sie in den Verwaltungsportalen erledigen. Einige Aufgaben erfordern jedoch ein Skript, da die Funktionalität nicht in den Azure- oder Microsoft-365-Administrationsportalen vorhanden ist. Beispielsweise müssen Sie Befehle ausführen, um eine Eigenschaft innerhalb des Tenants festzulegen, um einzuschränken, wer ein Team in Microsoft Teams innerhalb von Microsoft 365 erstellen kann. Sie können die PowerShell hier sehen.
Was ist der Unterschied zwischen der CLI für Microsoft 365 und PowerShell?
Die CLI für Microsoft 365 und die PowerShell sind Befehlszeilenschnittstellen, mit denen Sie Microsoft 365 und einige Azure-Ressourcen verwalten können. Sie unterscheiden sich jedoch in mehreren Punkten.
Die CLI für Microsoft 365 ist eine plattformübergreifende Befehlszeilenschnittstelle zur Verwaltung und Automatisierung von Aufgaben in Microsoft 365 und einigen Komponenten von Azure. Sie bietet eine einzige, einheitliche Anmeldung bei Microsoft-365-Workloads.
Außerdem ermöglicht Ihnen die CLI für Microsoft 365 die Ausführung von Skripten und die Automatisierung alltäglicher Verwaltungsaufgaben. Dadurch wird die Verwaltung und Administration dieser Dienste vereinfacht. Der Verwaltungsumfang ist begrenzt, wird aber von Microsoft regelmäßig aktualisiert.
Die CLI basiert auf Node.js und kann auf Windows, macOS und Linux installiert werden.
PowerShell ist eine Befehlszeilenschnittstelle, die für die Verwaltung von Microsoft 365 und allen Azure-Ressourcen hauptsächlich innerhalb eines Windows-Betriebssystems nützlich ist. Mit PowerShell 7 sind jedoch einige Module plattformübergreifend und funktionieren unter Windows, macOS und Linux.
PowerShell verfügt über eine umfangreiche Skriptsprache und ein Automatisierungs-Framework für die Skripterstellung. Microsoft und die Community stellen viele PowerShell-Module zur Verfügung, um die Funktionalität zu erweitern.
So beginnen Sie mit der Verwendung der CLI für Microsoft 365
Um die CLI für Microsoft 365 zu verwenden, installieren Sie Node.js und dann die CLI.
Microsoft hat die CLI für Microsoft 365 mit Node.js Version 6 getestet, empfiehlt aber die Verwendung der neuesten Long-Term-Support-Version (LTS). Wenn Sie Docker-Container einsetzen, können Sie auch ein Docker Image verwenden.
Als nächstes starten Sie Node.js mit einer Konsole, zum Beispiel Windows Terminal, und verwenden den Befehl npm, um die CLI für Microsoft 365 zu installieren.
Nach der Installation führen Sie m365 version aus, um die aktuell installierte Version zu sehen und um festzustellen, ob CLI für Microsoft 365 funktioniert.
Verbinden Sie sich anschließend mit Microsoft 365. Die CLI für Microsoft 365 unterstützt mehrere Authentifizierungsmethoden, darunter Gerätecodefluss, Benutzernamen und Kennwort, Zertifikat, Geheimnisse und Standard-Browser-Authentifizierung. Der Standard-Authentifizierungsfluss verwendet den Geräteansatz. Um sich auf diese Weise zu authentifizieren, geben Sie m365 login ein und schließen dann den Geräteablauf ab.
Nachdem Sie den Authentifizierungsprozess durchlaufen haben, können Sie Befehle zur Verwaltung von Microsoft-365-Diensten und Microsoft Entra ID; früher Azure Active Directory genannt, ausführen.
Um zum Beispiel alle Benutzer im Microsoft-Entra-ID-Tenant aufzulisten, können Sie Folgendes eingeben:
# User list output in the default JSON format
m365 aad user list --output text
# User list output as TEXT
m365 aad user list --output csv
# User list output as MARKDOWN
m365 aad user list --output md
# User list output as CSV, displaying only 'DisplayName' and 'Mail' fields
m365 aad user list --properties "displayName,mail" --output csv
# User list output as TEXT, where the 'DisplayName' starts with 'Adele'
m365 aad user list --displayName Adele --output csv
Alle Befehle in CLI für Microsoft 365 beginnen mit m365, gefolgt von den Root-Objektdiensten, wie teams und spo. Dann fügen Sie das spezifische Objekt hinzu, zum Beispiel team, file (Datei) und task (Aufgabe). Sie fügen dann Aktionen wie add (hinzufügen), get (bekommen), list (auflisten), remove (entfernen) oder set (einstellen) hinzu.
Einige weitere Beispiele sind die folgenden:
# Retrieve all planner tasks
m365 planner task list
# Execute the active user detail report for the tenant
m365 tenant report activeuserdetail
# Add a content type
m365 spo contenttype add \
--webUrl https://domain.sharepoint.com/sites/site \
--name 'Content Type' –id
0x01007926A26D295BA842B947286090B7F67E \
--group 'Content Type Group'
# Rename a SharePoint Online site
m365 spo site rename \
--url https://domain.sharepoint.com/oldsite \
--newUrl https://domain.sharepoint.com/newsite
# Apply a theme to a SharePoint Online site
m365 spo theme apply \
--name Theme \
--webUrl https://domain.sharepoint.com/sites/site \
--sharePointTheme
# Create a new Team
m365 teams team add \
--name "Team" \
--description "Team Description"
Verwendung der CLI für Microsoft 365 zur Durchführung von Verwaltungsaufgaben
Sie können Befehle in der CLI für Microsoft 365 kombinieren, um Skripte zur Ausführung einzelner oder mehrere Aufgaben zu erstellen. Eine weitere Möglichkeit ist die Verwendung von PowerShell mit der CLI für Microsoft 365.
Der Vorteil ist, dass keine PowerShell-Module geladen werden müssen, da Sie stattdessen die Befehle der CLI für Microsoft 365 verwenden. Mit dem folgenden PowerShell-Beispiel werden alle Microsoft-365-Gruppen entfernt:
$groups = m365 aad o365group list -o json | ConvertFrom-Json
foreach ($group in $groups)
{
Write-Host "Deleting: " $group.displayName
m365 aad o365group remove --id $group.id –confirm
}
Das folgende PowerShell-Beispiel listet alle Mitglieder aller Teams in Microsoft Teams auf:
$output = @()
$teams = m365 teams team list -o json | ConvertFrom-Json
foreach($team in $teams)
{
$users = m365 teams user list --teamId $team.id -o json | ConvertFrom-Json
foreach($user in $users)
{
$output += [PSCustomObject]@{
"User ID"=$user.id
"User Principal Name"=$user.userPrincipalName
"Assigned Role"=$user.userType
"Team ID"=$team.id
"Team Name"=$team.displayName
}
}
$output | Export-Csv `
-Path "Teams-Members-Report.csv" `
-NoTypeInformation
}
Durch die Kombination der Leistungsfähigkeit der CLI für Microsoft 365 mit PowerShell entsteht ein leistungsstarker Skriptansatz, der Ihnen als IT-Administrator hilft, Aufgaben einfacher und schneller auszuführen.