Erstellen Sie einen Ordner für alle Postfächer in Exchange Online

Die Organisation entschied, dass alle Postfächer einen bestimmten Ordner in ihrem Outlook haben sollten. Wenn sie die Benutzer dazu auffordern, geht dies in den meisten Fällen schief, da sie den Ordner als Unterordner oder mit einem falschen Namen erstellen. Um Konsistenz und Genauigkeit zu gewährleisten, besteht der beste Ansatz darin, diese Aufgabe mithilfe von PowerShell zu automatisieren. In diesem Artikel erfahren Sie, wie Sie in Exchange Online (Microsoft 365) einen Ordner für alle Postfächer erstellen.

Installieren Sie Microsoft Graph PowerShell

Bevor wir fortfahren und allen Postfächern in Exchange Online (Microsoft 365) einen Ordner hinzufügen können, müssen wir Microsoft Graph PowerShell installieren.

Starten Sie Windows PowerShell als Administrator und führen Sie den folgenden Befehl aus.

Install-Module Microsoft.Graph -Force

Wichtig:Aktualisieren Sie immer auf die neueste Version des Microsoft Graph PowerShell-Moduls, bevor Sie ein Cmdlet oder Skript ausführen, um Fehler und falsche Ergebnisse zu vermeiden.

Nachdem wir nun das Microsoft Graph PowerShell SDK-Modul installiert haben, können wir mit dem nächsten Schritt fortfahren.

Empfohlene Lektüre:So schützen Sie einen Ordner mit einem Passwort auf einer externen Festplatte | Laufwerk/Ordner verschlüsseln

Stellen Sie eine Verbindung zu Microsoft Graph PowerShell her

Um das PowerShell-Skript ausführen zu können, müssen Sie zunächst eine App-Registrierung mit den richtigen Berechtigungen und einem Client-Geheimnis für die Authentifizierung bei Microsoft Graph PowerShell erstellen.

Die Anwendungsberechtigungen sind:

  • Mail.ReadWrite
  • Benutzer.Alles lesen

Lesen Sie mehr dazu im Artikel So stellen Sie eine Verbindung zu Microsoft Graph PowerShell her.

Um mit PowerShell einen Ordner für alle Postfächer in Exchange Online (Microsoft 365) zu erstellen, führen Sie die folgenden Schritte aus:

Schritt 1: Laden Sie das PowerShell-Skript „Add-MailboxFolder“ herunter

Laden Sie das PowerShell-Skript Add-MailboxFolder.ps1 herunter und platzieren Sie es imC:SkripteOrdner.

Stellen Sie sicher, dass die Datei entsperrt ist, um Fehler beim Ausführen des Skripts zu vermeiden. Lesen Sie mehr im Artikel Fehler „Nicht digital signiert“ beim Ausführen des PowerShell-Skripts.

Eine andere Möglichkeit besteht darin, den folgenden Code zu kopieren und in Notepad einzufügen. Geben Sie ihm den NamenAdd-MailboxFolder.ps1und legen Sie es in dieC:SkripteOrdner.

Stellen Sie sicher, dass Sie die Werte der Parameter zeilenweise ändern27,28, Und29.

<#
    .SYNOPSIS
    Add-MailboxFolder.ps1

    .DESCRIPTION
    This script will add a folder for all mailboxes in Exchange Online (Microsoft 365).

    .LINK
    www.alitajran.com/create-folder-for-all-mailboxes-in-exchange-online/

    .NOTES
    Written by: ALI TAJRAN
    Website:    www.alitajran.com
    LinkedIn:   linkedin.com/in/alitajran
    X:          x.com/alitajran

    .CHANGELOG
    V1.00, 01/26/2025 - Initial version
#>

param (
    [Parameter(Mandatory=$true)]
    [string]$FolderName
)

# Configuration
$ClientId = "1cdc5f74-621b-4160-b80c-8243945bdc91"
$TenantId = "eb403171-a42c-4d98-a18f-1876518c9deb"
$ClientSecret = "mFs8Q~wD25t5YQaMV0VuQBzG~KMLYP1ob3g43dpr"

# Convert the client secret to a secure string
$ClientSecretPass = ConvertTo-SecureString -String $ClientSecret -AsPlainText -Force

# Create a credential object using the client ID and secure string
$ClientSecretCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $ClientId, $ClientSecretPass

# Connect to Microsoft Graph with Client Secret
Connect-MgGraph -TenantId $TenantId -ClientSecretCredential $ClientSecretCredential -NoWelcome

# Retrieve all users in the tenant
$Users = Get-MgUser -All -Filter "assignedLicenses/`$count ne 0 and userType eq 'Member'" -ConsistencyLevel eventual -CountVariable Records | Select-Object Id, UserPrincipalName

# Loop through each user to add a folder
foreach ($user in $Users) {
    try {
        Write-Host "Processing user: $($user.UserPrincipalName)" -ForegroundColor Cyan

        # Check if folder already exists
        try {
            $ExistingFolder = Get-MgUserMailFolder -UserId $user.Id -Filter "DisplayName eq '$FolderName'" -ErrorAction Stop | Select-Object DisplayName
        }
        catch {
            Write-Host "Error retrieving folders for user: $($user.UserPrincipalName)" -ForegroundColor Red
            continue  # Skip to the next user if we can't even retrieve folders
        }
        if (-not $ExistingFolder) {
            # If the folder does not exist, create it
            $body = @{
                DisplayName = $FolderName
            }
            $null = New-MgUserMailFolder -UserId $user.Id -BodyParameter $body

            Write-Host "Folder '$FolderName' has been added for user: $($user.UserPrincipalName)" -ForegroundColor Green
        }
        else {
            Write-Host "Folder '$FolderName' already exists for user: $($user.UserPrincipalName)" -ForegroundColor Yellow
        }
    }
    catch {
        Write-Host "Error processing user $($user.UserPrincipalName): $_" -ForegroundColor Red
    }
}

Schritt 2: Führen Sie das PowerShell-Skript „Add-MailboxFolder“ aus

Führen Sie das ausAdd-MailboxFolder.ps1PowerShell-Skript zum Erstellen eines Ordners für alle Postfächer in Exchange Online.

In diesem Beispiel lautet der Ordner, der erstellt wirdOrdnerA.

c:scripts.Add-MailboxFolder.ps1 -FolderName "FolderA"

Schritt 3. Überprüfen Sie den hinzugefügten Ordner im Postfach

Melden Sie sich anAusblickmit einem Benutzerpostfach und überprüfen Sie, ob der Ordner erstellt wurde.

So sieht es aus.

Das ist es!

Abschluss

Sie haben gelernt, wie Sie mit PowerShell einen Ordner für alle Postfächer in Exchange Online erstellen. Installieren Sie zunächst Microsoft Graph PowerShell. Führen Sie als Nächstes das PowerShell-Skript Add-MailboxFolder.ps1 aus. Danach wird allen Postfächern der neue Ordner zu ihrem Postfach hinzugefügt.

Hat Ihnen dieser Artikel gefallen? Möglicherweise gefällt Ihnen auch der Export von Entra ID-App-Registrierungen, Zertifikaten und Ablaufberichten für Geheimnisse. Vergessen Sie nicht, uns zu folgen und diesen Artikel zu teilen.

Related Posts