Exchange 2019 中用戶端存取規則的程式
用戶端存取規則會根據連線的屬性,允許或封鎖 Exchange 系統管理中心 (EAC) 或遠端 PowerShell 連線到您的 Exchange 2019 組織。 如需用戶端存取規則的詳細資訊,請參閱Exchange Server 中的用戶端存取規則。
提示
請確認您的規則是以您預期的方式運作。 務必徹底地測試每個規則以及規則之間的互動。 如需詳細資訊,請參閱本主題稍後 的使用 Exchange 管理命令介面來測試用戶端存取規則 一節。
開始之前有哪些須知?
每項程序的預估完成時間:不到 5 分鐘。
本主題中的程式僅適用于 Exchange 管理命令介面。 如需詳細資訊,請 參閱開啟 Exchange 管理命令介面 或 使用遠端 PowerShell 連線到 Exchange 伺服器。
用戶端存取規則支援 IPv4 和 IPv6 位址。 有關 IPv6 位址和語法的詳細資訊,請參閱此 Exchange 2013 主題:IPv6 位址基礎。
您必須已獲指派權限,才能執行此程序或這些程序。 若要查看您需要的許可權,請參閱 郵件流程許可權中的「郵件流程」專案。
提示
有問題嗎? 在 Exchange 論壇中尋求協助。 瀏覽 Exchange Server 的論壇。
使用 Exchange 管理命令介面檢視用戶端存取規則
若要傳回所有用戶端存取規則的摘要清單,請執行下列命令:
Get-ClientAccessRule
若要傳回特定規則的詳細資訊,請使用下列語法:
Get-ClientAccessRule -Identity "<RuleName>" | Format-List [<Specific properties to view>]
此範例會傳回規則 (名稱為「封鎖來自 192.168.1.0/24 的用戶端連線」) 的所有內容值。
Get-ClientAccessRule -Identity "Block Client Connections from 192.168.1.0/24" | Format-List
此範例只會傳回相同規則的指定屬性。
Get-ClientAccessRule -Identity "Block Client Connections from 192.168.1.0/24" | Format-List Name,Priority,Enabled,Scope,Action
如需詳細的語法及參數資訊,請參閱 Get-ClientAccessRule。
使用 Exchange 管理命令介面建立用戶端存取規則
若要在 Exchange 管理命令介面中建立用戶端存取規則,請使用下列語法:
New-ClientAccessRule -Name "<RuleName>" [-Priority <PriorityValue>] [-Enabled <$true | $false>] -Action <AllowAccess | DenyAccess> [<Conditions>] [<Exceptions>]
此範例會建立名為 Block PowerShell 的新用戶端存取規則,以封鎖遠端 PowerShell 存取,但 IP 位址範圍 192.168.10.1/24 中的用戶端除外。
New-ClientAccessRule -Name "Block PowerShell" -Action DenyAccess -AnyOfProtocols RemotePowerShell -ExceptAnyOfClientIPAddressesOrRanges 192.168.10.1/24
附註:
- 最佳做法是建立優先順序最高的用戶端存取規則,以保留對遠端 PowerShell 的管理員存取權。 例如:
New-ClientAccessRule -Name "Always Allow Remote PowerShell" -Action Allow -AnyOfProtocols RemotePowerShell -Priority 1
。 - 規則具有優先順序預設值,因為我們並未使用 Priority 參數。 如需詳細資訊,請參閱本主題稍後 的使用 Exchange 管理命令介面來設定用戶端存取規則的優先順序 一節。
- 規則已啟用,因為我們並未使用 Enabled 參數,且預設值為
$true
。
此範例會建立名為 Restrict EAC Access 的新用戶端存取規則,該規則會封鎖 Exchange 系統管理中心的存取,除非用戶端是來自 192.168.10.1/24 範圍中的 IP 位址或使用者帳戶名稱包含 "tanyas"。
New-ClientAccessRule -Name "Restrict EAC Access" -Action DenyAccess -AnyOfProtocols ExchangeAdminCenter -ExceptAnyOfClientIPAddressesOrRanges 192.168.10.1/24 -ExceptUsernameMatchesAnyOfPatterns *tanyas*
如需詳細的語法和參數資訊,請參閱 New-ClientAccessRule。
如何知道這是否正常運作?
若要確認您已順利建立用戶端存取規則,請使用以下任何程序:
在 Exchange 管理命令介面中執行此命令,以查看規則清單中的新規則:
Get-ClientAccessRule
以規則名稱取代 <RuleName>,然後執行下列命令以查看規則的詳細資料:
Get-ClientAccessRule -Identity "<RuleName>" | Format-List
使用 Test-ClientAccessRule Cmdlet 查看哪些用戶端存取規則會影響 Exchange 的特定用戶端連線。 如需詳細資訊,請參閱本主題稍後 的使用 Exchange 管理命令介面來測試用戶端存取規則 一節。
使用 Exchange 管理命令介面修改用戶端存取規則
當您修改用戶端存取規則時,無法使用任何其他設定。 這些設定與您在建立規則時可用的設定相同。
若要修改 Exchange 管理命令介面中的用戶端存取規則,請使用下列語法:
Set-ClientAccessRule -Identity "<RuleName>" [-Name "<NewName>"] [-Priority <PriorityValue>] [-Enabled <$true | $false>] -Action <AllowAccess | DenyAccess> [<Conditions>] [<Exceptions>]
此範例會停用名為 Allow EAC 的現有用戶端存取規則。
Set-ClientAccessRule -Identity "Allow EAC" -Enabled $false
當您修改用戶端存取規則時的重要考量,就是修改可接受多個值的條件或例外狀況:
- 您所指定的值會「取代」任何現有的值。
- 若要新增或移除值,而不影響其他現有的值,請使用下列語法:
@{Add="<Value1>","<Value2>"...; Remove="<Value1>","<Value2>"...}
本範例會將 IP 位址範圍 172.17.17.27/16 新增至名為允許 EAC 的現有用戶端存取規則,而不會影響現有的 IP 位址值。
Set-ClientAccessRule -Identity "Allow EAC" -AnyOfClientIPAddressesOrRanges @{Add="172.17.17.27/16"}
如需詳細的語法及參數資訊,請參閱 Set-ClientAccessRule。
如何知道這是否正常運作?
若要確認您已順利修改用戶端存取規則,請使用以下任何程序:
以規則名稱取代 <RuleName>,然後執行下列命令以查看規則的詳細資料:
Get-ClientAccessRule -Identity "<RuleName>" | Format-List
使用 Test-ClientAccessRule Cmdlet 查看哪些用戶端存取規則會影響 Exchange 的特定用戶端連線。 如需詳細資訊,請參閱本主題稍後 的使用 Exchange 管理命令介面來測試用戶端存取規則 一節。
使用 Exchange 管理命令介面來設定用戶端存取規則的優先順序
根據預設,系統會根據用戶端存取原則的建立順序為其提供優先順序 (較新原則的優先順序比較舊原則的優先順序低)。 較低的優先順序數字表示規則的優先順序較高,而規則會按照優先順序進行處理 (較高優先順序的規則會在較低優先順序的規則前面進行處理)。 兩個規則不會有相同的優先順序。
您可以對規則設定的最高優先順序為 1。 您可以設定的最低值則取決於規則的數目。 例如,如果您有五個規則,則您可以使用 1 到 5 的優先順序值。 變更現有規則的優先順序會對其他規則造成階層式影響。 例如,如果您有五個規則 (優先順序 1 到 5),而您將規則的優先順序從 5 變更為 2,則優先順序為 2 的現有規則會變更為優先順序 3,優先順序 3 的規則會變更為優先順序 4,而優先順序 4 的規則會變更為優先順序 5。
若要在 Exchange 管理命令介面中設定用戶端存取規則的優先順序,請使用下列語法:
Set-ClientAccessRule -Identity "<RuleName>" -Priority <Number>
本範例會將名為 Disable PowerShell 的規則優先順序設定為 3。 優先順序小於或等於 3 的所有現有規則都會減少 1, (其優先順序數位會增加 1) 。
Set-ClientAccessRule -Identity "Disable PowerShell" -Priority 4
附註:若要在建立新規則時設定其優先順序,請在 New-ClientAccessRule Cmdlet 上使用 Priority 參數。
如何知道這是否正常運作?
若要確認您已順利設定用戶端存取規則的優先順序,請使用以下任一程序:
在 Exchange 管理命令介面中執行此命令,以查看規則清單及其 Priority 值:
Get-ClientAccessRule
以規則名稱取代 <RuleName>,然後執行下列命令:
Get-ClientAccessRule -Identity "<RuleName>" | Format-List Name,Priority
使用 Exchange 管理命令介面移除用戶端存取規則
若要移除 Exchange 管理命令介面中的用戶端存取規則,請使用下列語法:
Remove-ClientAccessRule -Identity "<RuleName>"
此範例會移除名為 Block EAC 的用戶端存取規則。
Remove-ClientAccessRule -Identity "Block EAC"
注意:若要停用用戶端存取規則 (但不刪除它),請在 Set-ClientAccessRule Cmdlet 上使用值為 $false
的 Enabled 參數。
如需詳細的語法及參數資訊,請參閱 Remove-ClientAccessRule。
如何知道這是否正常運作?
若要確認您已成功移除用戶端存取規則,請在 Exchange 管理命令介面中執行此命令,以確認規則已不再列出:
Get-ClientAccessRule
使用 Exchange 管理命令介面來測試用戶端存取規則
若要查看哪些用戶端存取規則會影響 Exchange 的特定用戶端連線,請使用下列語法:
Test-ClientAccessRule -User <MailboxIdentity> -AuthenticationType <AuthenticationType> -Protocol <Protocol> -RemoteAddress <ClientIPAddress> -RemotePort <TCPPortNumber>
此範例會傳回符合具有下列屬性之 Exchange 用戶端連線的用戶端存取規則:
- 驗證類型:基本
- 通訊協定:
ExchangeAdminCenter
- 遠端位址:172.17.17.26
- 遠端連接埠:443
- 使用者: julia@contoso.com
Test-ClientAccessRule -User julia@contoso.com -AuthenticationType BasicAuthentication -Protocol ExchangeAdminCenter -RemoteAddress 172.17.17.26 -RemotePort 443
如需詳細的語法及參數資訊,請參閱 Test-ClientAccessRule。