Exchange 2013 的 Exchange 管理命令介面快速參考

適用於:Exchange Server 2013

此主題會描述 Microsoft Exchange Server 2013 量產 (RTM) 和較新版本中,最常用的指令程式並提供其使用範例。

注意事項

關於 Exchange 2013 其他領域的內容將在近期內新增。

如需 Exchange 中有關 Exchange 2013 管理命令介面和所有可用指令程式的相關資訊,請參閱下列主題:

想要瞭解什麼?

常見指令程式動作

下列命令動詞受多數指令程式支援,並且與特定動作關聯。

動詞 描述
新增 New 命令動詞可建立某些項目的執行個體,例如新的組態設定、新資料庫或新 SMTP 連接器。
移除 Remove 命令動詞可移除某項目的執行個體,例如信箱或傳輸規則。

所有 Remove Cmdlet 都支援 WhatIfConfirm 參數。 如需這些參數的詳細資訊,請參閱重要參數。
啟用 啟用命令動詞可啟用設定或使收件者擁有郵件功能。
停用 Disable 命令動詞可停用先前啟用的設定,或停用收件者的郵件功能。

所有停用工作也支援 WhatIfConfirm 參數。 如需這些參數的詳細資訊,請參閱重要參數。
Set Set 命令動詞可修改物件的特定設定,例如連絡人的別名或信箱資料庫的已刪除項目保留。
Get Get 命令動詞可查詢特定物件或物件類型子集,例如特定信箱、所有信箱使用者或網域中的信箱使用者。

重要參數

下列參數可協助您控制命令的執行方式,以及明確指定命令在影響資料前所將執行的動作。

參數 描述
[身分識別] Identity參數會識別工作的唯一物件。 它通常與 Enable、Disable、Remove、Set 和 Get Cmdlet 搭配使用。 分識別也是位置參數,這 表示當您 在命令列上指定參數的值時,不需要指定 Identity。

例如,Get-Mailbox -Identity user1 會查詢 user1 的信箱。 Get-Mailbox user1 相當於 Get-Mailbox -Identity user1
WhatIf WhatIf參數會指示 Cmdlet 模擬它會對物件採取的動作。 藉由使用 WhatIf 參數,您可以檢視會發生的變更,而不需要實際套用任何變更。 預設值為 $true。
確認 Confirm參數會讓 Cmdlet 暫停處理,並要求系統管理員在繼續處理之前確認 Cmdlet 會執行什麼動作。 預設值為 $true。
驗證 Validate 參數可讓指令程式檢查是否已符合執行作業所需的所有必要條件,以及作業是否將順利完成。

秘訣與技巧

當您管理 Exchange 2013 時,可以搭配各種工作使用下列相關命令。

指令程式 描述
Get-Command 此 Cmdlet 會擷取可在 Exchange 2013 中執行的所有工作。
Get-Command *keyword* 此指令程式可擷取指令程式中具有 keyword 的工作。
Get-Task | Get-Member 此 Cmdlet 會擷取 Task的所有屬性和方法。
Get-Task | Format-List 此 Cmdlet 會在格式化清單中顯示查詢的輸出。 您可以使用管線將任何 Get Cmdlet 的輸出傳送至 Format-List,以檢視該命令所傳回之物件上存在的整個屬性集,或指定您想要檢視的個別屬性,並以逗號分隔,如下列範例所示: Get-Mailbox john | Format-List alias,*quota*
Help Task 此 Cmdlet 會擷取 Exchange 2013 中任何工作的 Exchange 管理命令介面說明資訊,如下列範例所示: Help Get-Mailbox
Get-Task | Format-List > file.txt 此 Cmdlet 會將 Task 的輸出匯出至文字檔: file.txt

權限

命令 描述
Get-RoleGroupMember "Organization Management" 此命令會擷取 組織管理 管理角色群組的成員。
Get-ManagementRoleAssignment -Role "Mail Recipient Creation" -GetEffectiveUsers 此命令會擷取所有獲授與 郵件收件者建立 管理角色所提供許可權的使用者清單。 這包括屬於指派郵件收件者建立角色之角色群組或通用安全性群組 (USG) 成員的使用者。 這不包括屬於另一個樹系中連結角色群組成員的使用者。
Get-ManagementRoleAssignment -RoleAssignee Administrator | Get-ManagementRole | Get-ManagementRoleEntry 這個命令會擷取使用者 Administrator 可執行的指令程式清單。
ForEach ($RoleEntry in Get-ManagementRoleEntry *Remove-Mailbox -Parameters Identity) {Get-ManagementRoleAssignment -Role $RoleEntry.Role -GetEffectiveUsers -Delegating $False | Where-Object {$_.EffectiveUserName -Ne "All Group Members"} | FL Role, EffectiveUserName, AssignmentChain} 這個命令會擷取可執行 Remove-Mailbox 指令程式的所有使用者清單。
Get-ManagementRoleAssignment -WritableRecipient kima -GetEffectiveUsers | FT RoleAssigneeName, EffectiveUserName, Role, AssignmentChain 這個命令會擷取可修改 kima 信箱的所有使用者清單。
New-ManagementScope "Seattle Users" -RecipientRestrictionFilter "City -Eq 'Seattle'"

New-RoleGroup "Seattle Admins" -Roles "Mail Recipients", "Mail Recipient Creation", "Mailbox Import Export", -CustomRecipientWriteScope "Seattle Users"
這個命令會建立新的管理範圍和管理角色群組,以讓角色群組的成員管理 Seattle 的收件者。

首先會建立 Seattle Users 管理範圍,這個範圍只符合使用者物件上的 City 屬性中具有 Seattle 的收件者。

然後會建立名為 Seattle Admins 的新角色群組,並指派 郵件收件者郵件收件者建立信箱匯入匯出 角色。 角色群組已設定範圍,因此其成員只能管理符合 「西雅圖使用者 」收件者篩選範圍的使用者。
New-ManagementScope "Vancouver Servers" -ServerRestrictionFilter "ServerSite -Eq 'Vancouver'"

$RoleGroup = Get-RoleGroup "Server Management" <br/><br/> New-RoleGroup "Vancouver Server Management" -Roles $RoleGroup.Roles -CustomConfigWriteScope "Vancouver Servers"
這個命令會建立新的管理範圍並複製現有的角色群組,以讓新角色群組的成員只管理 Vancouver Active Directory 站台中的伺服器。

首先,會建立 「伺服器 」管理範圍,這只會比對位於 新密西登 Active Directory 網站的伺服器。 Active Directory 月臺會儲存在伺服器物件的 ServerSite 屬性中。

然後會建立名為 「伺服器管理 」的新角色群組,這是 伺服器管理 角色群組的複本。 不過,這個新的角色群組的範圍是允許其成員只管理符合「伺服器」設定篩選準則範圍 的伺服器
Add-RoleGroupMember "Organization Management" -Member davids 這個命令會將使用者 davids 新增到 Organization Management 角色群組。
Get-ManagementRoleAssignment -Role "Mail Recipient Creation" -RoleAssignee "Seattle Admins" | Remove-ManagementRoleAssignment 此命令會從西雅圖系統管理員角色群組中移除郵件收件者建立角色。 此命令很有用,因為您不需要知道將角色指派給角色群組的管理角色指派名稱。

遠端命令介面

命令 描述
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://ExServer.contoso.com/PowerShell/ -Authentication Kerberos

Import-PSSession $Session
這些命令會在已加入網域的本機電腦與具有 FQDN ExServer.contoso.com 的遠端 Exchange 2013 伺服器之間開啟新的遠端 殼層會話。 如果您想要管理遠端 Exchange 2013 伺服器,且只在本機電腦上安裝包含Windows PowerShell命令列介面的Windows Management Framework,請使用此命令。 此命令會使用您目前的登入認證,對遠端 Exchange 2013 伺服器進行驗證。
$UserCredential = Get-Credential

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://ExServer.contoso.com/PowerShell/ -Authentication Kerberos -Credential $UserCredential

Import-PSSession $Session
這些命令會在已加入網域的本機電腦與具有 FQDN ExServer.contoso.com 的遠端 Exchange 2013 伺服器之間開啟新的遠端殼層會話。 如果您想要管理遠端 Exchange 2013 伺服器,且只在本機電腦上安裝包含Windows PowerShell的Windows Management Framework,請使用此命令。 此命令會使用您明確指定的認證,對遠端 Exchange 2013 伺服器進行驗證。
Remove-PSSession $Session 此命令會關閉本機電腦與遠端 Exchange 2013 伺服器之間的遠端 Shell 會話。
Import-RecipientDataProperty -Identity "Tony Smith" -SpokenName -FileData ([System.IO.File]::ReadAllBytes('M:\AudioFiles\TonySmith.wma')) 此命令顯示使用 Cmdlet 上的 FileData 參數,將檔案匯入遠端 Exchange 2013 伺服器所需的語法範例。 語法會封裝 包含在 M:\AudioFiles\ApolloSmith.wma 檔案中的資料,並將資料串流至 Import-RecipientDataProperty Cmdlet 上的 FileData 屬性。

FileData參數會在大部分的 Cmdlet 上使用此語法,接受本機電腦上檔案的資料。
$SN = Export-RecipientDataProperty -Identity tonys@contoso.com -SpokenName

[System.IO.File]::WriteAllBytes('C:\tonysmith.wma', $SN.FileData)

此命令顯示從遠端 Exchange 2013 伺服器匯出檔案所需的語法範例。 語法會將儲存在 FileData 屬性中的資料封裝在 Cmdlet 傳回的物件上,然後將資料串流至本機電腦。 然後,資料會儲存在 C:\smithsmith.wma 檔案中。

大多數使用 FileData 內容來輸出物件的指令程式都會使用這項語法,將資料匯出到您的本機電腦上的檔案中。