1.擷取所有郵箱使用情況,按大小排序輸出到磁盤
Get-Mailbox | Get-Mailboxstatistics | Sort-Object TotalItemSize -Descending | ft DisplayName,@{label="TotalItemSize(KB)";expression={$_.TotalItemSize.Value.ToKB()}},ItemCount >d:\1.csv
2.通過使用者名找GUID:
get-mailbox -identity "使用者名" | fl name,guid
3.批量查找所有使用者的GUID:
get-mailbox | fl name,guid
4.擷取郵箱配額設定:
Get-Mailbox -identity "使用者名" | fl IssueWarningQuota,ProhibitSendQuota,ProhibitSendReceiveQuota
5.提升對指定資料庫中的所有使用者的操作權限:
get-mailbox -Database "資料庫名" | add-mailboxpermission -user 域名\administrator -AccessRights FullAccess -InheritanceType all
6.按主題包含的關鍵字删除:
Search-Mailbox -Identity lisi -SearchQuery "Subject:關鍵字" -DeleteContent
例如:
Search-Mailbox -Identity lisi -searchquery 主題: 報價 -deletecontent
按照主題查找某個郵箱、某封郵件的具體資訊
search-mailbox -identity lisi -searchquey subject: "關鍵字" -targetmailbox administrator -targetfolder 123 -logonly -loglevel full
此指令導出使用者為lisi 主題為 “關鍵字”的郵件到管理者郵箱下面的123檔案夾并包含詳細的日志内容。執行完畢後登陸管理者郵箱會看到123的檔案夾,裡面有查找結果到處檔案,下載下傳附件即可看到内容。
7.批量删除:
get-mailbox -Database "資料庫名" | Search-Mailbox -DeleteContent
8.擷取已經建立的郵箱:
Get-Mailbox | FL Name,RecipientTypeDetails,PrimarySmtpAddress
9.批量啟用郵箱帳戶:
啟用AD中所有未啟用的使用者:
Get-User -RecipientTypeDetails User -Filter { UserPrincipalName -ne $Null } | Enable-Mailbox -Database "資料庫名稱"
10.啟用AD中某個組織機關下面的使用者:
Get-User -OrganizationalUnit "組織機關名稱" | Enable-Mailbox -Database "資料庫名稱"
11.檢視郵件伺服器上某個時間段内的所有郵件資訊:
Get-MessageTrackingLog -ResultSize Unlimited -Start "3/6/2016 8:40AM" -End "3/6/2016 1:50PM"
12.檢視郵件伺服器上某個時間段内由具體的某個人所發送的所有郵件詳細資訊:
Get-MessageTrackingLog -ResultSize Unlimited -Start "3/6/2016 8:40AM" -End "3/6/2016 1:50PM" –Sender [email protected]
後面加上 | fl 則顯示每封郵件的詳細資訊。
13.查詢發送失敗的郵件
Get-MessageTrackingLog -ResultSize Unlimited -Start "3/6/2016 8:40AM" -End "3/6/2016 2:50PM" -EventId "Fail" -Sender [email protected]
14.删除群發郵件
Get-Mailbox –ResultSize unlimited | Search-Mailbox -searchquery 主題:測試郵件 –deletecontent
15.通過時間篩選删除郵件
Search-Mailbox -Identity lisi -SearchQuery "發送時間:<2016/12/16"-deletecontent
Search-Mailbox -Identity lisi -SearchQuery "發送時間:=2016/12/16"-deletecontent
Search-Mailbox -Identity lisi -SearchQuery "發送時間:>2016/12/16"-deletecontent
Search-Mailbox -Identity lisi -SearchQuery "發送時間:<2016/12/11 and 2016/12/16" –deletecontent
16.查×××器中已斷開連接配接的郵箱
Get-MailboxDatabase | Get-MailboxStatistics | where {$_.DisconnectReason -ne $null} | ft displayname,database,disconnectreason -auto
找不到的話執行下第 17清理郵箱資料庫,再查找。
查×××器中禁用的郵箱
1.get-mailboxdatabase | get-mailboxstatistics | where-object {$_.disconnectreason -eq "disable"}
2.get-mailboxstatistics -database <database name> | where-object {$_.disconnectreason -ne $null} 因為disconnectreason參數在正常郵箱狀态下為空。
17.清理郵箱資料庫(E2013/16)
Get-MailboxStatistics -Database "Database name" | ForEach { Update-StoreMailboxState -Database $_.Database -Identity $_.MailboxGuid -Confirm:$false }
18.批量導出所有郵件
19.批量導出單個資料庫中所有郵箱的郵件
20.EX13/16 限制使用者每天接收、發送郵件的數量
New-ThrottlingPolicy -Name LimitMessagesSent -RecipientRateLimit 300 -MessageRateLimit 10
以上指令,傳輸政策的名稱為:limitmessagessent,可以接收的數量:300,可以發送的數量:10.
Set-Mailbox -Identity 使用者名 -ThrottlingPolicy LimitMessagesSent (應用到具體郵箱上面)
21.查找所有郵箱并按照使用空間大小來排序并按照指定字段顯示
Get-Mailboxdatabase |Get-Mailboxstatistics |sort totalitemsize -desc |ft
displayname,itemcount
22.擷取郵箱資料庫的路徑,按要求輸出
get-mailboxdatabase | fl name,*path*
<a href="http://s1.51cto.com/wyfs02/M01/8C/17/wKioL1hiDfjCj4LwAAA0ZWkhOAE576.png-wh_500x0-wm_3-wmp_4-s_866858459.png" target="_blank"></a>
23.設定使用者收發郵件的大小,設定發送、接受連接配接器大小
設定所有使用者:
get-user | set-mailbox -maxsendsize "20MB" -maxreceivesize "20MB"
以上指令會周遊所有郵箱,運作時使用者郵箱完成配置,但系統郵箱等會報錯。可用以下指令跳過:
Get-Mailbox -ResultSize unlimited -Filter{(RecipientTypeDetails -eq"UserMailbox")} | Set-Mailbox -MaxSendSize 20mb -MaxReceiveSize 20mb
清除現有所有使用者單獨設定的收發郵件大小值(無限制):
Get-Mailbox -ResultSize unlimited -Filter{(RecipientTypeDetails -eq "UserMailbox")}| Set-Mailbox -MaxSendSize Unlimited -MaxReceiveSize Unlimited
查詢目前傳輸設定、發送連接配接器、接收連接配接器設定:
Get-TransportConfig |ft maxsendsize,maxreceivesize
Get-ReceiveConnector |ft name,maxmessagesize
Get-SendConnector |ft name,maxmessagesize
設定傳輸連接配接器大小:
Set-TransportConfig -MaxSendSize 35MB -MaxReceiveSize 35MB
設定發送連接配接器大小:
Get-SendConnector | Set-SendConnector -MaxMessageSize 35MB
檢視使用者郵箱收發郵件大小:
Get-Mailbox 123 | fl MaxSendSize,MaxReceiveSize
設定某個使用者郵箱收發郵件大小:
Set-Mailbox 123 -MaxSendSize 10mb -MaxReceiveSize 10mb
24.去除匿名中繼的權限(去除仿冒内部郵件位址)
==========
Get-ReceiveConnector "Internet Receive Connector" | Remove-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"
25.去除接收匿名郵件域發送者的權限(對過濾垃圾郵件有一定作用)
Get-ReceiveConnector "Internet Receive Connector" | Remove-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "ms-exch-smtp-accept-authoritative-domain-sender"
26.檢視某一個郵箱的統計資訊(最後登入時間等)
Get-MailboxStatistics -Identity 'administrator' |fl
27.檢視某個郵箱伺服器上所有使用者的統計資訊,例如在這裡範例需要檢視郵件伺服器 tr-ex01 上相關使用者的登入時間,可以輸入如下内容:
Get-MailboxStatistics -server 'tr-ex01'
28.檢視某個郵箱伺服器上所有使用者的統計資訊,并且以降序排列,例如在這裡範例需要檢視郵件伺服器 tr-ex01 上相關使用者的登入時間并且以降序方式排列,可以輸入如下内容:
Get-MailboxStatistics -server 'tr-ex01' | Sort LastLogonTime -Descending
29.查詢一段時間的 每個使用者的郵件發送數量
Get-MessageTrackingLog -ResultSize unlimited -Start"07/01/2012" -End "07/13/2012" -EventId "send"|Group-Object -Property:sender |Select name,count|sort count -Descending
如果不想要外部郵箱的話,加一個filter
Get-MessageTrackingLog -ResultSize Unlimited -Start"10/1/2013" -End "10/25/2013" | where{$_.recipients -like"*@domain.com"}
如果是要查發出的,就把recipients改成sender
30.本示例傳回貴組織中所有郵箱的摘要清單
Get-Mailbox -ResultSize unlimited
31.傳回組織内名為 Users 的 OU 中所有郵箱的清單
Get-Mailbox -OrganizationalUnit Users
32.查詢ex 郵箱伺服器 上面所有存檔郵箱的清單
get-mailbox -archive -server ex
32.查詢mailbox1 郵箱資料庫 上面所有存檔郵箱的清單
get-mailbox -archive -database mailbox1
33.查詢所有的郵箱數量
(get-mailbox-resultsize unlimited).count
34.查詢每個郵箱資料庫中分别有多少使用者
get-mailbox-resultsize unlimited | group-object -property:database | select-objectname,count
如果把database參數更替為郵箱資料庫的名字,那統計出來的就是某一個郵箱資料庫内的使用者數量
35.查詢每個郵箱伺服器上面分别有多少使用者
get-mailbox-resultsize unlimited | group-object -property:servername | select-object name,count
如果把 servername參數更替為伺服器的名字,那統計出來的就是某一個郵箱伺服器内的使用者數量
36.批量導出、導入郵箱
1.賦予管理者權限
New-ManagementRoleAssignment -Name "ImportExport_Domain Admins" -User "Administrator" -Role "MailboxImport Export"
2.批量導出郵件到C槽EXPORT檔案夾下
get-mailbox -OrganizationalUnit "contoso.com/contoso" -resultsize unlimited |%{New-MailboxexportRequest -mailbox $_.name -FilePath ("\\localhost\c$\export\"+($_.name)+".pst") -BadItemLimit50}
3. 批量導入PST檔案到目的郵箱位址
get-childitem\\localhost\c$\export\*.pst | select name,basename | %{New-MailboximportRequest-mailbox $_.basename -FilePath ("\\localhost\c$\export\"+$_.name)-BadItemLimit 50}
37.查找使用者的GUID
38.查找所有使用者的GUID
39.擷取郵箱使用情況,按大小排序
Get-Mailbox | Get-Mailboxstatistics | Sort-ObjectTotalItemSize -Descending | ftDisplayName,totalitemsize
40.擷取某個使用者的郵箱配額(警告、阻止、阻止發送接收):
Get-Mailbox -identity "使用者名" | fl IssueWarningQuota,ProhibitSendQuota,ProhibitSendReceiveQuota
41.提升指定資料庫中的所有使用者的操作權限為administrator
get-mailbox -Database "資料庫名" | add-mailboxpermission -user域名\administrator -AccessRights FullAccess -InheritanceTypeall
42.批量啟用郵箱賬戶
Get-User -RecipientTypeDetails User -Filter { UserPrincipalName -ne $Null} | Enable-Mailbox -Database "資料庫名稱"
啟用AD中某個組織機關下面的使用者:
Get-User -OrganizationalUnit "組織機關名稱" | Enable-Mailbox -Database "資料庫名稱"
43、檢視每個賬戶裝置的連接配接數量
Get-MobileDeviceStatistics -Mailbox 使用者名 | fl deviceid
44.開啟或關閉NDR(未送達報告)
Set-RemoteDomain contoso -NDREnabled $false
Set-RemoteDomain Contoso -NDREnabled $true
45.導入、導出郵箱
new-mailboxexportrequest -mailbox zhangsan -filepath \\****\\mailbox.pst
new-mailboximportrequest -mailbox zhangsan -filepath \\***\mailbox.pst
導入導出路徑必須為UNC路徑,導出為PST格式可以直接用OUTLOOK挂載進行檢視。
46.郵件跟蹤指令
檢視使用者發送和接收郵件的記錄
get-messagetrackinglog -sender [email protected]
get-messagetrackinglog -recipients [email protected]
檢視zhangsan發往lisi的郵件記錄
get-messagetrackinglog -sender [email protected] -recipients [email protected]
檢視某個發送周期内的發送記錄
get-messagatrackinglog -sender [email protected] -recipients [email protected] -start "2017-06-01 -end "2017-07-11"
47.檢視、啟動EXCHANGE伺服器的元件
檢視元件是否正常運作:
get-servercomponentstate servername | fl component,state
活動:active 非活動:inactive
啟動相應元件:
Set-ServerComponentState -identity ServerName -component ComponentName -Requester healthapi -State active
48.檢視exchange伺服器目前使用的DC/GC
Get-ExchangeServer -status | fl name, static*,current*
如果需要更改使用set-exchangeserver
本文轉自 煙台小崔 51CTO部落格,原文連結:
http://blog.51cto.com/seawind/1883317