PowerShell ile Microsoft 365 posta kutusu boyutu raporunu dışarı aktarma


Tüm Microsoft 365 posta kutusu depolama boyutu verilerini dışarı aktarmak istiyor musunuz? Microsoft 365 yönetim merkezinde posta kutusu kullanım raporunu dışarı aktarabilirsiniz. Ancak bu liste ayrıntılı bilgi göstermemektedir. Bu yazımızda Microsoft 365 posta kutusu boyutu raporunu PowerShell ile nasıl dışarı aktaracağınızı göstereceğiz.

Microsoft 365 yönetim merkezinde posta kutusu boyutu raporunu alın

Microsoft 365 yönetim merkezinde posta kutusu kullanım raporunu nasıl görüntüleyeceğinizi ve dışarı aktaracağınızı size göstermek istiyoruz.

1. Posta kutusu kullanım raporunu görüntüleyin

Microsoft 365'te tüm kullanıcı posta kutuları depolama alanına sahip olmak için aşağıdaki adımları izleyin:

  1. Microsoft 365 yönetim merkezinde oturum açın
  2. Menüde Raporlar > Kullanım'ı tıklayın
  3. Genel Bakış altında > Exchange'i tıklayın
  4. Posta kutusu kullanımı'nı tıklayın

Grafiklerde kullanılan toplam posta kutusu depolama alanını görebilirsiniz. Ancak posta kutusu başına kullanılan depolama alanını görmek istiyoruz.

  1. Her posta kutusu için bilgi listesini görmek için aşağıya kaydırın

Not: Varsayılan olarak, her posta kutusunun kullanıcı adları yerine yalnızca sayıları ve harfleri görebilirsiniz. Microsoft, Eylül 2021'den bu yana tüm raporlarda kullanıcı bilgilerini gizliyor ancak bu ayarları değiştirebilirsiniz.

Her posta kutusunun kullanıcı adı gizlilik amacıyla gizlenmiştir. Bir sonraki adımda kullanıcı adlarını bir raporda nasıl görüntüleyeceğinizi göstereceğiz.

Kullanıcı adını görebiliyorsanız sonraki adımı atlayın ve Posta kutusu kullanımını CSV dosyasına aktar'a gidin.

2. Kullanıcı adını posta kutusu kullanım raporunda görüntüle

Kullanıcı adlarını raporlarda görüntülemek için şu adımları izleyin:

  1. Ayarlar > Kuruluş Ayarları'nı tıklayın
  2. Hizmetler'i tıklayın
  3. Raporlar'ı tıklayın
  4. Tüm raporlarda gizli kullanıcı, grup ve site adlarını görüntüle onay kutusunun işaretini kaldırın.
  5. Kaydet'i tıklayın

3. Posta kutusu kullanımını CSV dosyasına aktarın

Kullanıcı adlarını görüntüledikten sonra posta kutusu boyutu raporunu bir CSV dosyasına aktarabilirsiniz.

Tüm posta kutusu kullanımlarının listesine geri dönün. Microsoft 365 yönetim merkezinde Raporlar > Kullanım > Exchange > Posta kutusu kullanımı'na gidin.

  1. Dışa aktar'ı tıklayın

  1. Verileri görüntülemek ve sıralamak için CSV dosyasını Microsoft Excel ile açın

Microsoft 365'in posta kutusu kullanım raporu, tüm posta kutularını ve ne kadar depolama alanının kullanıldığını gösterir.

Posta Kutusu Kullanım Raporu, posta kutusu boyutlarına ilişkin sınırlı verileri gösterir. Daha detaylı veri istiyorsanız bir sonraki adımda PowerShell betiğini kullanmanızı öneririz.

PowerShell betiğiyle Microsoft 365 posta kutusu boyutu raporunu alın

Tüm kullanıcıların posta kutusu boyutunu almanın mükemmel bir yolu aşağıdaki PowerShell betiğidir.

MailboxSizeReport365.ps1 PowerShell betiğinin 2 seçeneği vardır:

  1. CSV Dosyasına Aktar (OFFICE 365)
  2. Posta Kutusu Adını Joker Karakterle Girin (Dışa Aktarma) (OFFICE 365)

Komut dosyaları çalışacak ve bir posta kutusu olan tüm kullanıcıları bulacak ve her posta kutusu için aşağıdaki bilgileri CSV dosyasında toplayacaktır:

  1. Ekran adı
  2. Takma ad
  3. SamHesapAdı
  4. Alıcı Türü
  5. Alıcı kuruluş birimi
  6. Birincil SMTP adresi
  7. E-mail adresleri
  8. Veri tabanı
  9. Sunucu adı
  10. Toplam Öğe Boyutu
  11. Eşya sayısı
  12. Silinen Öğe Sayısı
  13. ToplamSilinmişÖğeBoyutu
  14. YasakGönderAlımMB-İçindeki Kota
  15. UseDatabaseQuotaDefaults
  16. Son Oturum Açma Zamanı
  17. ArşivAdı
  18. Arşiv Durumu
  19. ArşivDurumu
  20. ArşivKota
  21. ArşivToplamÖğeBoyutu
  22. ArşivTotalItemCount

Sonraki adımlarda size hem seçenekleri hem de sonuçları göstereceğiz.

1. PowerShell Online'a bağlanın

Windows PowerShell'i yönetici olarak başlatın ve Exchange Online PowerShell'e bağlanmak için Connect-ExchangeOnline cmdlet'ini çalıştırın.

Connect-ExchangeOnline

2. MailboxSizeReport365 PowerShell betiğini indirin

MailboxSizeReport365 PowerShell betiğini indirmek için seçeneklerden birini seçin:

  1. MailboxSizeReport365.ps1 PowerShell betiğini indirin
  2. Veya aşağıdaki komut dosyasını Not Defteri'ne kopyalayın ve MailboxSizeReport365.ps1 dosyası olarak kaydedin

Not: Komut dosyası, etkin olmayan posta kutusu klasörü istatistiklerini getirmez. Herhangi bir veri alabilmeniz için önce kullanıcı posta kutusuna bir lisans atamanız gerekir.

<#
    .SYNOPSIS
    .\MailboxSizeReport365.ps1

    .DESCRIPTION
    Connect to Exchange Online PowerShell first.
    The script exports a Mailbox Size Report for all Microsoft 365 mailboxes
    to a CSV file. You can also export a single mailbox or WildCard as an option.

    .LINK
    o365info.com/microsoft-365-mailbox-size-report

    .NOTES
    Written By: o365info
    Website:    o365info.com

    .CHANGELOG
    V1.00, 03/24/2023 - Initial version
#>

Write-host "

Mailbox Size Report 365
----------------------------

1.Export to CSV File (OFFICE 365)

2.Enter the Mailbox Name with Wild Card (Export) (OFFICE 365)"-ForeGround "Cyan"

#----------------
# Script
#----------------

Write-Host "               "

$number = Read-Host "Choose The Task"
$output = @()
switch ($number) {

    1 {

        $i = 0 
        $CSVfile = Read-Host "Enter the Path of CSV file (Eg. C:\Report.csv)" 

        $AllMailbox = Get-mailbox -Resultsize Unlimited

        Foreach ($Mbx in $AllMailbox) {

            $Stats = Get-mailboxStatistics -Identity $Mbx.distinguishedname -WarningAction SilentlyContinue

            if ($Mbx.ArchiveName.count -eq "0") {
                $ArchiveTotalItemSize = $null
                $ArchiveTotalItemCount = $null
            }
            if ($Mbx.ArchiveName -ge "1") {
                $MbxArchiveStats = Get-mailboxstatistics $Mbx.distinguishedname -Archive -WarningAction SilentlyContinue
                $ArchiveTotalItemSize = $MbxArchiveStats.TotalItemSize
                $ArchiveTotalItemCount = $MbxArchiveStats.BigFunnelMessageCount
            }

            $userObj = New-Object PSObject

            $userObj | Add-Member NoteProperty -Name "Display Name" -Value $mbx.displayname
            $userObj | Add-Member NoteProperty -Name "Alias" -Value $Mbx.Alias
            $userObj | Add-Member NoteProperty -Name "SamAccountName" -Value $Mbx.SamAccountName
            $userObj | Add-Member NoteProperty -Name "RecipientType" -Value $Mbx.RecipientTypeDetails
            $userObj | Add-Member NoteProperty -Name "Recipient OU" -Value $Mbx.OrganizationalUnit
            $userObj | Add-Member NoteProperty -Name "Primary SMTP address" -Value $Mbx.PrimarySmtpAddress
            $userObj | Add-Member NoteProperty -Name "Email Addresses" -Value ($Mbx.EmailAddresses -join ",")
            $userObj | Add-Member NoteProperty -Name "Database" -Value $Stats.Database
            $userObj | Add-Member NoteProperty -Name "ServerName" -Value $Stats.ServerName
            $userObj | Add-Member NoteProperty -Name "TotalItemSize" -Value $Stats.TotalItemSize
            $userObj | Add-Member NoteProperty -Name "ItemCount" -Value $Stats.ItemCount
            $userObj | Add-Member NoteProperty -Name "DeletedItemCount" -Value $Stats.DeletedItemCount
            $userObj | Add-Member NoteProperty -Name "TotalDeletedItemSize" -Value $Stats.TotalDeletedItemSize
            $userObj | Add-Member NoteProperty -Name "ProhibitSendReceiveQuota-In-MB" -Value $Mbx.ProhibitSendReceiveQuota
            $userObj | Add-Member NoteProperty -Name "UseDatabaseQuotaDefaults" -Value $Mbx.UseDatabaseQuotaDefaults
            $userObj | Add-Member NoteProperty -Name "LastLogonTime" -Value $Stats.LastLogonTime
            $userObj | Add-Member NoteProperty -Name "ArchiveName" -Value ($Mbx.ArchiveName -join ",")
            $userObj | Add-Member NoteProperty -Name "ArchiveStatus" -Value $Mbx.ArchiveStatus
            $userObj | Add-Member NoteProperty -Name "ArchiveState" -Value $Mbx.ArchiveState 
            $userObj | Add-Member NoteProperty -Name "ArchiveQuota" -Value $Mbx.ArchiveQuota
            $userObj | Add-Member NoteProperty -Name "ArchiveTotalItemSize" -Value $ArchiveTotalItemSize
            $userObj | Add-Member NoteProperty -Name "ArchiveTotalItemCount" -Value $ArchiveTotalItemCount

            $output += $UserObj  
            # Update Counters and Write Progress
            $i++
            if ($AllMailbox.Count -ge 1) {
                Write-Progress -Activity "Scanning Mailboxes . . ." -Status "Scanned: $i of $($AllMailbox.Count)" -PercentComplete ($i / $AllMailbox.Count * 100)
            }
        }

        $output | Export-csv -Path $CSVfile -NoTypeInformation -Encoding UTF8 #-Delimiter ","

        ; Break
    }

    2 {
        $i = 0
        $CSVfile = Read-Host "Enter the Path of CSV file (Eg. C:\DG.csv)" 

        $MailboxName = Read-Host "Enter the Mailbox name or Range (Eg. Mailboxname , Mi*,*Mik)"

        $AllMailbox = Get-mailbox $MailboxName -Resultsize Unlimited

        Foreach ($Mbx in $AllMailbox) {

            $Stats = Get-mailboxStatistics -Identity $Mbx.distinguishedname -WarningAction SilentlyContinue

            if ($Mbx.ArchiveName.count -eq "0") {
                $ArchiveTotalItemSize = $null
                $ArchiveTotalItemCount = $null
            }
            if ($Mbx.ArchiveName -ge "1") {
                $MbxArchiveStats = Get-mailboxstatistics $Mbx.distinguishedname -Archive -WarningAction SilentlyContinue
                $ArchiveTotalItemSize = $MbxArchiveStats.TotalItemSize
                $ArchiveTotalItemCount = $MbxArchiveStats.BigFunnelMessageCount
            }

            $userObj = New-Object PSObject

            $userObj | Add-Member NoteProperty -Name "Display Name" -Value $mbx.displayname
            $userObj | Add-Member NoteProperty -Name "Alias" -Value $Mbx.Alias
            $userObj | Add-Member NoteProperty -Name "SamAccountName" -Value $Mbx.SamAccountName
            $userObj | Add-Member NoteProperty -Name "RecipientType" -Value $Mbx.RecipientTypeDetails
            $userObj | Add-Member NoteProperty -Name "Recipient OU" -Value $Mbx.OrganizationalUnit
            $userObj | Add-Member NoteProperty -Name "Primary SMTP address" -Value $Mbx.PrimarySmtpAddress
            $userObj | Add-Member NoteProperty -Name "Email Addresses" -Value ($Mbx.EmailAddresses -join ",")
            $userObj | Add-Member NoteProperty -Name "Database" -Value $Stats.Database
            $userObj | Add-Member NoteProperty -Name "ServerName" -Value $Stats.ServerName
            $userObj | Add-Member NoteProperty -Name "TotalItemSize" -Value $Stats.TotalItemSize
            $userObj | Add-Member NoteProperty -Name "ItemCount" -Value $Stats.ItemCount
            $userObj | Add-Member NoteProperty -Name "DeletedItemCount" -Value $Stats.DeletedItemCount
            $userObj | Add-Member NoteProperty -Name "TotalDeletedItemSize" -Value $Stats.TotalDeletedItemSize
            $userObj | Add-Member NoteProperty -Name "ProhibitSendReceiveQuota-In-MB" -Value $Mbx.ProhibitSendReceiveQuota
            $userObj | Add-Member NoteProperty -Name "UseDatabaseQuotaDefaults" -Value $Mbx.UseDatabaseQuotaDefaults
            $userObj | Add-Member NoteProperty -Name "LastLogonTime" -Value $Stats.LastLogonTime
            $userObj | Add-Member NoteProperty -Name "ArchiveName" -Value ($Mbx.ArchiveName -join ",")
            $userObj | Add-Member NoteProperty -Name "ArchiveStatus" -Value $Mbx.ArchiveStatus
            $userObj | Add-Member NoteProperty -Name "ArchiveState" -Value $Mbx.ArchiveState 
            $userObj | Add-Member NoteProperty -Name "ArchiveQuota" -Value $Mbx.ArchiveQuota
            $userObj | Add-Member NoteProperty -Name "ArchiveTotalItemSize" -Value $ArchiveTotalItemSize
            $userObj | Add-Member NoteProperty -Name "ArchiveTotalItemCount" -Value $ArchiveTotalItemCount

            $output += $UserObj  
            # Update Counters and Write Progress
            $i++
            if ($AllMailbox.Count -ge 1) {
                Write-Progress -Activity "Scanning Mailboxes . . ." -Status "Scanned: $i of $($AllMailbox.Count)" -PercentComplete ($i / $AllMailbox.Count * 100) -ErrorAction SilentlyContinue
            }
        }

        $output | Export-csv -Path $CSVfile -NoTypeInformation -Encoding UTF8 #-Delimiter ","

        ; Break
    }

    Default { Write-Host "No matches found , Enter Options 1 or 2" -ForeGround "red" }

}
  1. Henüz yapmadıysanız, (C:) sürücüsünde scripts ve temp klasörlerini oluşturun.
  2. MailboxSizeReport365.ps1 PowerShell komut dosyasını C:\scripts klasörüne kaydedin

Komut dosyasını çalıştırırken hataları önlemek amacıyla engellemenin kaldırılıp kaldırılmadığını kontrol etmek için dosyayı açın.

3. Tüm Microsoft 365 boyut raporunu dışa aktarın

1. Komut dosyasını başlatmak için aşağıdaki PowerShell komutunu çalıştırın.

C:\scripts\.\MailboxSizeReport365.ps1

Çıktı, 2 seçeneğe sahip Posta Kutusu Boyutu Raporu 365 komut dosyasını görüntüleyecektir.

PS C:\scripts\.\MailboxSizeReport365.ps1

Mailbox Size Report 365
----------------------------
1.Export to CSV File (OFFICE 365)

2.Enter the Mailbox Name with Wild Card (Export) (OFFICE 365)
 
Choose The Task:

Öncelikle 1 seçeneğini göstermek istiyoruz. CSV Dosyasına Aktar (OFFICE 365)

2. 1 yazın ve Enter'a basın.

PS C:\scripts\.\MailboxSizeReport365.ps1


Mailbox Size Report 365
----------------------------

1.Export to CSV File (OFFICE 365)

2.Enter the Mailbox Name with Wild Card (Export) (OFFICE 365)
               
Choose The Task: 1

Komut dosyası bir yol isteyecektir, dolayısıyla CSV dosyasını dışa aktardığınızda bu yola aktarılacaktır.

3. Aşağıdaki C:\temp\report365.csv yolunu ekleyin ve Enter'a basın.

PS C:\scripts\.\MailboxSizeReport365.ps1


Mailbox Size Report 365
----------------------------

1.Export to CSV File (OFFICE 365)

2.Enter the Mailbox Name with Wild Card (Export) (OFFICE 365)
               
Choose The Task: 1
Enter the Path of CSV file (Eg. C:\Report.csv): C:\temp\report365.csv

Posta Kutusu Boyutu Raporu 365 komut dosyası, kuruluştaki tüm posta kutularını taramaya başlar. Çok sayıda posta kutusu kullanıcınız varsa bu işlem birkaç dakika sürebilir.

Bundan sonra liste oluşturulur ve sonuçlar bir CSV dosyasına aktarılır. İşlem tamamlandığında komut dosyasından çıkabilirsiniz.

Dışa aktarılan listeyi CSV dosyasına C:\temp konumunda bulacaksınız.

4. Belirli Microsoft 365 posta kutusu boyutu raporunu dışa aktarın

Ayrıca belirli bir Microsoft 365 posta kutusunu veya aynı harf veya sayılarla başlayan veya biten birkaç posta kutusunu da dışarı aktarabilirsiniz.

1. Komut dosyasını başlatmak için aşağıdaki PowerShell komutunu çalıştırın.

C:\scripts\.\MailboxSizeReport365.ps1

Çıktı, Posta Kutusu Boyutu Raporu 365 komut dosyasını 2 seçenekle görüntüleyecektir.

2 seçeneğini göstermek istiyoruz. Posta Kutusu Adını Joker Karakterle Girin (Dışa Aktarma) (OFFICE 365)

2. 2 sayısını yazın ve Enter'a basın.

PS C:\scripts\.\MailboxSizeReport365.ps1

Mailbox Size Report 365
----------------------------
1.Export to CSV File (OFFICE 365)

2.Enter the Mailbox Name with Wild Card (Export) (OFFICE 365)
 
Choose The Task: 2

Komut dosyası bir yol isteyecektir, dolayısıyla CSV dosyasını dışa aktardığınızda bu yola aktarılacaktır.

3. Aşağıdaki yolu C:\temp\report365project.csv yazın ve Enter'a basın.

PS C:\scripts\.\MailboxSizeReport365.ps1

Mailbox Size Report 365
----------------------------
1.Export to CSV File (OFFICE 365)

2.Enter the Mailbox Name with Wild Card (Export) (OFFICE 365)
 
Choose The Task: 2
Enter the Path of CSV file (Eg. C:\DG.csv): C:\temp\report365project.csv

Artık komut dosyası posta kutusu adını veya aralığı girmenizi isteyecektir.

Posta kutusunun tam adını veya posta kutusunun içerdiği harf ve rakamları yıldız işaretiyle (*) yazabilirsiniz. Yıldız işaretini harflerden ve rakamlardan önce, sonra veya arasında kullanın.

Yıldız işaretinin (*) nasıl kullanılacağına dair örnekler göstereceğiz:

  1. pr* ile başlayan tüm posta kutularını göstermek için sonuna (*) yerleştirin
  2. Bu harfleri içeren tüm posta kutularını göstermek için iki yıldız işareti ekleyin *pr*
  3. *pr ile biten tüm posta kutularını göstermek için başına (*) yerleştirin

4. proje adıyla başlayan tüm posta kutularını göstermek için proje* ekleyin.

PS C:\scripts\.\MailboxSizeReport365.ps1

Mailbox Size Report 365
----------------------------

1.Export to CSV File (OFFICE 365)

2.Enter the Mailbox Name with Wild Card (Export) (OFFICE 365)
               
Choose The Task: 2
Enter the Path of CSV file (Eg. C:\DG.csv): C:\temp\report365project.csv
Enter the Mailbox name or Range (Eg. Mailboxname , Mi*,*Mik): project*

Posta Kutusu Boyutu Raporu 365 PowerShell betiği tüm posta kutularını taramaya başlayacaktır. Bittiğinde komut dosyasından çıkabilirsiniz.

Listenin başarıyla bir CSV dosyasına aktarılıp aktarılmadığını kontrol edin. C:\temp\ yoluna gidin ve report365project.csv dosyasını bulun.

5. Microsoft 365 rapor CSV dosyasını Excel ile açın

Aşağıdaki adımları izleyerek tüm CSV verilerini Microsoft Excel'e yükleyin:

  1. Microsoft Excel'i açın ve Yeni boş çalışma kitabı'nı seçin

  1. Veriler > Metinden/CSV'den'i tıklayın

  1. report365.csv dosyasını bulup seçin
  2. İçe aktar'ı tıklayın

  1. Tüm sütunları kontrol edin ve Yükle'yi tıklayın

Not: Lisansınız yoksa, etkin olmayan posta kutusunu göstermeyeceği için posta kutusunu bulamazsınız. Önce bir lisans atayın, ardından posta kutusunu alabilirsiniz.

  1. Microsoft Excel, CSV dosyasındaki verileri yükler ve biçimlendirir
  2. İlk satırdaki okları tıklayarak sütunları sıralayın ve filtreleyin

Microsoft 365 posta kutusu boyutu raporunu dışarı aktarmak kolaydır ve ayrıca gereksiz bilgileri de kaldırabilirsiniz.

Devamını oku: Microsoft 365 kullanıcı lisanslarını dışarı aktarma »

Çözüm

PowerShell ile Exchange Online'da Microsoft 365 posta kutusu boyutu raporunu nasıl dışarı aktaracağınızı öğrendiniz. Tüm posta kutularının posta kutusu boyutu verilerini listelemek için MailboxSizeReport365.ps1 PowerShell komut dosyasını kullanın. Bu komut dosyası, depolama alanı kullanımı, öğe boyutu ve silinen öğelerin boyutu gibi posta kutusu başına bilgileri gösterir.

Bu makaleyi beğendiniz mi? Ayrıca Microsoft 365 parolasını hiçbir zaman sona ermeyecek şekilde ayarlama konusunu da beğenebilirsiniz. Bizi takip etmeyi ve bu yazımızı paylaşmayı unutmayın.

İlgili makaleler