0
点赞
收藏
分享

微信扫一扫

Microsoft 365 解决方案:如何通过Powershell获取所有Office 365 归档邮箱的详细信息

Blog链接:​https://blog.51cto.com/13969817

本文将给大家分享,如何使用Powershell脚本以获取Office 365所有用户邮箱的存档状态,并导出存档邮箱详细信息,如存档状态、存档状态、邮箱大小等。

具体操作如下:

1.      使用命令Connect-ExchangeOnline连接客户Exchange Online环境,如下所示:

Microsoft 365 解决方案:如何通过Powershell获取所有Office 365 归档邮箱的详细信息_Powershell

2.       运行下面脚本,并在C盘生成报告,如下所示:

$Result=@() 
$mailboxes = Get-Mailbox -ResultSize Unlimited
$totalmbx = $mailboxes.Count
$i = 1
$mailboxes | ForEach-Object {
$i++
$mbx = $_
$size = $null
Write-Progress -activity "Processing $mbx" -status
"$i
out of $totalmbx completed"
if ($mbx.ArchiveStatus -eq "Active"){
$mbs = Get-MailboxStatistics $mbx.UserPrincipalName
if ($mbs.TotalItemSize -ne $null){
$size = [math]::Round(($mbs.TotalItemSize.ToString().Split('(')[1].Split('
')[0].Replace(',','')/1MB),2)
}else{
$size = 0 }
}
$Result += New-Object -TypeName PSObject -Property $([ordered]@{
UserName = $mbx.DisplayName
UserPrincipalName = $mbx.UserPrincipalName
ArchiveStatus =$mbx.ArchiveStatus
ArchiveName =$mbx.ArchiveName
ArchiveState =$mbx.ArchiveState
ArchiveMailboxSizeInMB = $size
ArchiveWarningQuota=if
($mbx.ArchiveStatus
-eq
"Active")
{$mbx.ArchiveWarningQuota}
Else { $null}
ArchiveQuota = if ($mbx.ArchiveStatus -eq "Active") {$mbx.ArchiveQuota} Else { $null}
AutoExpandingArchiveEnabled=$mbx.AutoExpandingArchiveEnabled
})
}
$Result | Export-CSV "C:\Archive-Mailbox-Report.csv"
-NoTypeInformation
-Encoding
UTF8

Microsoft 365 解决方案:如何通过Powershell获取所有Office 365 归档邮箱的详细信息_归档邮箱_02

3.      C盘,打开报告,可以看到全部归档邮箱的信息情况,如下所示:

Microsoft 365 解决方案:如何通过Powershell获取所有Office 365 归档邮箱的详细信息_详细信息_03

分享本文,希望对大家日后工作有所帮助,如果大家有其他疑问,欢迎线下讨论。

举报

相关推荐

0 条评论