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