Blog

Hier poste ich dinge zu Themen die mich beschäftigten.

Neueste 5 Einträge

  • PHP: sende Mail
  • Powershell: gruppename like finden und aktivierte user zaehlen
  • HW und SW auslesen und exportieren
  • Angeschlossene Monitore auslesen
  • bash: deepL Pro Paket MAC OS

2023-04-30

Powershell Script exchange online User auslesen und nach größten Postfächer loggen

Um die größten Postfächer und E-Mails in Exchange Online zu finden und die Ergebnisse in eine CSV-Datei zu exportieren, führen Sie die folgenden Schritte aus:

1. Stellen Sie sicher, dass das `Exchange Online PowerShell V2`-Modul installiert ist. Installieren Sie es mit diesem Befehl, falls noch nicht geschehen:

“`powershell
Install-Module -Name ExchangeOnlineManagement
“`

2. Verbinden Sie sich mit Ihrem Exchange Online-Konto:

“`powershell
Connect-ExchangeOnline
“`

3. Führen Sie das folgende Skript aus, um die gewünschten Informationen abzurufen und in CSV-Dateien zu exportieren:

“`powershell
# Get all mailboxes and sort by size
$mailboxes = Get-ExoMailbox -ResultSize Unlimited | Get-ExoMailboxStatistics | Sort-Object -Property TotalItemSize -Descending

# Export the largest mailboxes to a CSV file
$mailboxes | Select-Object DisplayName, TotalItemSize, ItemCount | Export-Csv -Path “LargestMailboxes.csv” -NoTypeInformation

# Set the number of largest emails to retrieve for each mailbox
$largestEmailsCount = 10

# Initialize an array to store the largest emails
$largestEmails = @()

# Loop through the largest mailboxes
foreach ($mailbox in $mailboxes) {
    # Get the largest emails for the current mailbox
    $emails = Get-ExoMailboxFolderStatistics -Identity $mailbox.MailboxGuid -IncludeOldestAndNewestItems | Sort-Object -Property NewestItemReceivedDate -Descending | Select-Object -First $largestEmailsCount
   
    # Add the mailbox name and size to the emails objects
    foreach ($email in $emails) {
        $email | Add-Member -NotePropertyName “MailboxName” -NotePropertyValue $mailbox.DisplayName
        $email | Add-Member -NotePropertyName “MailboxSize” -NotePropertyValue $mailbox.TotalItemSize
    }
   
    # Add the largest emails to the array
    $largestEmails += $emails
}

# Export the largest emails to a CSV file
$largestEmails | Select-Object MailboxName, MailboxSize, FolderPath, NewestItemReceivedDate, NewestItemSubject | Export-Csv -Path “LargestEmails.csv” -NoTypeInformation

# Disconnect from Exchange Online
Disconnect-ExchangeOnline
“`

Dieses Skript exportiert die größten Postfächer in eine CSV-Datei mit dem Namen `LargestMailboxes.csv` und die größten E-Mails in eine CSV-Datei mit dem Namen `LargestEmails.csv`. Sie können den Wert von `$largestEmailsCount` ändern, um die Anzahl der größten E-Mails festzulegen, die für jedes Postfach abgerufen werden sollen.

Admin - 19:10:23 @ Projekte, Powershell-Skripte | Kommentar hinzufügen

Kommentar hinzufügen

Die Felder Name und Kommentar sind Pflichtfelder.

Um automatisierten Spam zu reduzieren, ist diese Funktion mit einem Captcha geschützt.

Dazu müssen Inhalte des Drittanbieters Google geladen und Cookies gespeichert werden.