客戶場景:為很多用戶單獨配置過郵箱配額,想重新規劃,現需要導致所有用戶實際容量清單
實現方式:直接上代碼
#加載Exchange命令
Add-PSSnapin Microsoft.ex*
#主命令
[array]$output = "" | Select Name,ProhibitSendQuota,DBName
$DBs = Get-MailboxDatabase | Select Name,ProhibitSendQuota
foreach ($DB in $DBs) {
[string]$DBQuota = $DB.ProhibitSendQuota
[string]$DBName = $DB.Name
Write-Host "Database $DBName's quota is $DBQuota"
$Mails = Get-Mailbox -Database $DBName | Select Name,ProhibitSendQuota
foreach ($Mail in $Mails) {
if ($Mail.ProhibitSendQuota -eq "Unlimited") {
[string]$MailQuota = $DBQuota
}
else {
[string]$MailQuota = $Mail.ProhibitSendQuota
}
專注于為中小企業提供成都網站設計、網站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業昌樂免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了近1000家企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。
$Temp = "" | Select Name,ProhibitSendQuota,DBName
$Temp.Name = $Mail.Name
$Temp.ProhibitSendQuota = $MailQuota
$Temp.DBName = $DBName
#$Temp
$output += $Temp
}
}
$output | Export-Csv MailQuota.csv -NoTypeInformation -Encoding UTF8
輸出結果:
與預期對比:
結論:如果為用戶配置了不限制容量,則不能正常獲取(客戶實際環境中僅為董事長有配置無限制,手動修正,符合客戶需求),歡迎幫解決此bug
Update:
客戶提出了幾點疑問:
1. 這個結果我無法看出哪些用戶是有手動配置過的
2. 我不知道用戶使用了多少,用了多少空間
3. 需要最后登錄時間
4. 我有很多Mail Server,如果我只想獲取一臺怎么辦?
5. 我在C盤打開的這個腳本,但這個腳本實際位置在D盤,這個輸出文件輸出到了C盤怎么辦?需要輸出到腳本所在的目錄
針對以上,優化了腳本:
$output += $Temp
}
}
#$output[1..$output.count]
$output[1..$output.count] | Export-Csv $outfile -NoTypeInformation -Encoding UTF8 -Force
歡迎補充
文章題目:Powershell獲取Exchange郵箱用戶配額
網站URL:http://vcdvsql.cn/article38/pdiisp.html
成都網站建設公司_創新互聯,為您提供云服務器、網站改版、外貿建站、Google、網站設計、網站導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯