共用方式為


Exchange 2019 中用戶端存取規則的程式

用戶端存取規則會根據連線的屬性,允許或封鎖 Exchange 系統管理中心 (EAC) 或遠端 PowerShell 連線到您的 Exchange 2019 組織。 如需用戶端存取規則的詳細資訊,請參閱Exchange Server 中的用戶端存取規則

提示

請確認您的規則是以您預期的方式運作。 務必徹底地測試每個規則以及規則之間的互動。 如需詳細資訊,請參閱本主題稍後 的使用 Exchange 管理命令介面來測試用戶端存取規則 一節。

開始之前有哪些須知?

提示

有問題嗎? 在 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 上使用值為 $falseEnabled 參數。

如需詳細的語法及參數資訊,請參閱 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