一些EXCHANGE命令

1.獲取全部郵箱使用狀況,按大小排序輸出到磁盤數據庫

Get-Mailbox | Get-Mailboxstatistics | Sort-Object TotalItemSize -Descending | ft DisplayName,@{label="TotalItemSize(KB)";expression={$_.TotalItemSize.Value.ToKB()}},ItemCount >d:\1.csvexpress

 

2.經過用戶名找GUID:服務器

get-mailbox -identity "用戶名" | fl name,guidfrontend

 

3.批量查找全部用戶的GUID:dom

get-mailbox | fl name,guidide

 

4.獲取郵箱配額設置:測試

Get-Mailbox -identity "用戶名" | fl IssueWarningQuota,ProhibitSendQuota,ProhibitSendReceiveQuotaui

 

5.提高對指定數據庫中的全部用戶的操做權限:spa

get-mailbox -Database "數據庫名" | add-mailboxpermission -user 域名\administrator -Acce***ights FullAccess -InheritanceType allrest

 

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 123@163.com

後面加上 | fl 則顯示每封郵件的詳細信息。

 

13.查詢發送失敗的郵件

Get-MessageTrackingLog -ResultSize Unlimited -Start "3/6/2016 8:40AM" -End "3/6/2016 2:50PM" -EventId "Fail" -Sender 123@163.com

 

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

 

在Exchange Server 2013中,Disable-Mailbox cmdlet在斷開用戶郵箱以後當即運行清理過程,更新數據庫以反映斷開鏈接的狀態。

 

查×××器中禁用的郵箱

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.批量導出全部郵件

$users=get-content -path "c:\user.txt"foreach($i in $users){New-MailboxExportRequest -Mailbox $i -FilePath "\\ServerName\PST\$($i).pst" –ExcludeFolders 「DeletedItems」 –ExcludeDumpster  -BadItemLimit 1000 -AcceptLargeDataLoss}
 

 

19.批量導出單個數據庫中全部郵箱的郵件

Get-Mailbox -DataBase DBName |ForEach-Object {New-MailboxExportRequest -Mailbox $_ -FilePath "D:\Newfolder\$($_.Alias).pst" –ExcludeFolders 「DeletedItems」 –ExcludeDumpster  -BadItemLimit 1000 -AcceptLargeDataLoss }
 

 

20.EX13/16 限制用戶天天接收、發送郵件的數量

 

  1. New-ThrottlingPolicy -Name LimitMessagesSent -RecipientRateLimit 300 -MessageRateLimit 10

    以上命令,傳輸策略的名稱爲:limitmessagessent,能夠接收的數量:300,能夠發送的數量:10.

     

  2. Set-Mailbox -Identity 用戶名 -ThrottlingPolicy LimitMessagesSent  (應用到具體郵箱上面)

     

     

21.查找全部郵箱並按照使用空間大小來排序並按照指定字段顯示

 

Get-Mailboxdatabase |Get-Mailboxstatistics |sort totalitemsize -desc |ft
displayname,itemcount

 

22.獲取郵箱數據庫的路徑,按要求輸出

 

get-mailboxdatabase | fl name,*path*

wKioL1hiDfjCj4LwAAA0ZWkhOAE576.png-wh_50

 

 

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.去除匿名中繼的權限(去除仿冒內部郵件地址)
==========
      24.1 Get-ReceiveConnector "Internet Receive Connector" | Remove-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"

      24.2 restart-service mschangefrontendtransport

 

  還能夠設置規則來確保雙保險(建議這麼作)

        在郵件流規則裏面創建以下規則:

   1.png

在執行「刪除郵件而不通知任何人」的選項上爲了保險能夠作一個轉發。記得也須要重啓exchange傳輸服務。

 

 
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

 

get-mailbox -identity "用戶名" | fl name,guid

 

38.查找全部用戶的GUID

 

get-mailbox | fl name,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 -Acce***ights FullAccess -InheritanceTypeall

 

 

 

42.批量啓用郵箱帳戶

 

啓用AD中全部未啓用的用戶:

 

Get-User -RecipientTypeDetails User -Filter { UserPrincipalName -ne $Null} | Enable-Mailbox -Database  "數據庫名稱"

 

啓用AD中某個組織單位下面的用戶:

 

Get-User -OrganizationalUnit  "組織單位名稱" | Enable-Mailbox -Database  "數據庫名稱"

 

4三、查看每一個帳戶設備的鏈接數量

 Get-MobileDeviceStatistics -Mailbox 用戶名 | fl deviceid

 

44.開啓或關閉NDR(未送達報告)

Set-RemoteDomain contoso -NDREnabled $false
Set-RemoteDomain Contoso -NDREnabled $true

說明:

1.png

remotedomain 指的是 配置的SMTP爲*的地址空間。(發送鏈接器SMTP *)

 

45.導入、導出郵箱

 

new-mailboxexportrequest -mailbox zhangsan -filepath \\****\\mailbox.pst

new-mailboximportrequest  -mailbox zhangsan -filepath \\***\mailbox.pst

導入導出路徑必須爲UNC路徑,導出爲PST格式能夠直接用OUTLOOK掛載進行查看。

 

46.郵件跟蹤命令

 

  1. 查看用戶發送和接收郵件的記錄

    get-messagetrackinglog -sender zhangsan@abc.com

    get-messagetrackinglog -recipients zhangsan@abc.com

  2. 查看zhangsan發往lisi的郵件記錄

    get-messagetrackinglog -sender zhangsan@abc.com -recipients lisi@abc.com

  3. 查看某個發送週期內的發送記錄

    get-messagatrackinglog -sender lisi@abc.com -recipients zhangs@abc.com -start "2017-06-01 -end "2017-07-11"

     

 

47.查看、啓動EXCHANGE服務器的組件

查看組件是否正常運行:

get-servercomponentstate servername | fl component,state

活動:active  非活動:inactive

 

啓動相應組件:

ServerName ComponentNameGet-ExchangeServer -status | fl name, static*,current*

若是須要更改使用set-exchangeserver

相關文章
相關標籤/搜索