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:
- Microsoft 365 yönetim merkezinde oturum açın
- Menüde Raporlar > Kullanım'ı tıklayın
- Genel Bakış altında > Exchange'i tıklayın
- 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.
- 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:
- Ayarlar > Kuruluş Ayarları'nı tıklayın
- Hizmetler'i tıklayın
- Raporlar'ı tıklayın
- Tüm raporlarda gizli kullanıcı, grup ve site adlarını görüntüle onay kutusunun işaretini kaldırın.
- 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.
- Dışa aktar'ı tıklayın
- 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:
- CSV Dosyasına Aktar (OFFICE 365)
- 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:
- Ekran adı
- Takma ad
- SamHesapAdı
- Alıcı Türü
- Alıcı kuruluş birimi
- Birincil SMTP adresi
- E-mail adresleri
- Veri tabanı
- Sunucu adı
- Toplam Öğe Boyutu
- Eşya sayısı
- Silinen Öğe Sayısı
- ToplamSilinmişÖğeBoyutu
- YasakGönderAlımMB-İçindeki Kota
- UseDatabaseQuotaDefaults
- Son Oturum Açma Zamanı
- ArşivAdı
- Arşiv Durumu
- ArşivDurumu
- ArşivKota
- ArşivToplamÖğeBoyutu
- 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-ExchangeOnline2. MailboxSizeReport365 PowerShell betiğini indirin
MailboxSizeReport365 PowerShell betiğini indirmek için seçeneklerden birini seçin:
- MailboxSizeReport365.ps1 PowerShell betiğini indirin
- 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" }
}- Henüz yapmadıysanız, (C:) sürücüsünde scripts ve temp klasörlerini oluşturun.
- 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: 1Komut 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.csvPosta 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: 2Komut 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.csvArtı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:
- pr* ile başlayan tüm posta kutularını göstermek için sonuna (*) yerleştirin
- Bu harfleri içeren tüm posta kutularını göstermek için iki yıldız işareti ekleyin *pr*
- *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:
- Microsoft Excel'i açın ve Yeni boş çalışma kitabı'nı seçin
- Veriler > Metinden/CSV'den'i tıklayın
- report365.csv dosyasını bulup seçin
- İçe aktar'ı tıklayın
- 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.
- Microsoft Excel, CSV dosyasındaki verileri yükler ve biçimlendirir
- İ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.












