天天看點

一些EXCHANGE指令

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