Set-ClientAccessRule
注意事項
從 2022 年 10 月開始,我們已針對所有未使用這些規則的現有Exchange Online組織,停用用戶端存取規則的存取權。 在 2024 年 9 月,所有Exchange Online組織的用戶端存取規則支援都將終止。 如需詳細資訊,請參閱更新:在Exchange Online中取代用戶端存取規則。
此 Cmdlet 只能在 2019 Exchange Server和雲端式服務中運作。 有些參數和設定可能是某一個環境所專屬。
使用 Set-ClientAccessRule Cmdlet 來修改現有的用戶端存取規則。 用戶端存取規則可協助您根據連線的屬性來控制對組織的存取。
如需下方<語法>一節中參數集的詳細資訊,請參閱 Exchange Cmdlet 語法。
Syntax
Set-ClientAccessRule
[-Identity] <ClientAccessRuleIdParameter>
[-Action <ClientAccessRulesAction>]
[-AnyOfAuthenticationTypes <MultiValuedProperty>]
[-AnyOfClientIPAddressesOrRanges <MultiValuedProperty>]
[-AnyOfProtocols <MultiValuedProperty>]
[-AnyOfSourceTcpPortNumbers <MultiValuedProperty>]
[-Confirm]
[-DomainController <Fqdn>]
[-Enabled <Boolean>]
[-ExceptAnyOfAuthenticationTypes <MultiValuedProperty>]
[-ExceptAnyOfClientIPAddressesOrRanges <MultiValuedProperty>]
[-ExceptAnyOfProtocols <MultiValuedProperty>]
[-ExceptAnyOfSourceTcpPortNumbers <MultiValuedProperty>]
[-ExceptUserIsMemberOf <MultiValuedProperty>]
[-ExceptUsernameMatchesAnyOfPatterns <MultiValuedProperty>]
[-Name <String>]
[-Priority <Int32>]
[-Scope <ClientAccessRulesScope>]
[-UserIsMemberOf <MultiValuedProperty>]
[-UsernameMatchesAnyOfPatterns <MultiValuedProperty>]
[-UserRecipientFilter <String>]
[-WhatIf]
[<CommonParameters>]
Description
對於用戶端對貴組織的連線來說,用戶端存取規則就像是郵件流程規則 (又稱為傳輸規則)。 您可以使用條件和例外狀況,根據它們的屬性識別連線,以及允許或封鎖這些連線的動作。
注意:並非所有通訊協定都支援驗證類型篩選,甚至支援驗證類型篩選的通訊協定也不支援所有驗證類型。 下列清單說明支援的組合。 在相同規則中混合通訊協定和驗證類型時,請小心。
支援驗證類型篩選的通訊協定:
- ExchangeActiveSync:BasicAuthentication、OAuthAuthentication 和 CertificateBasedAuthentication。
- ExchangeAdminCenter:BasicAuthentication 和 AdfsAuthentication。
- IMAP4:BasicAuthentication 和 OAuthAuthentication。
- OutlookWebApp:BasicAuthentication 和 AdfsAuthentication。
- POP3::BasicAuthentication 和 OAuthAuthentication。
- RemotePowerShell:BasicAuthentication 和 NonBasicAuthentication。
不支援驗證類型篩選準則的 Protcols:
- ExchangeWebServices
- OfflineAddressBook
- OutlookAnywhere
- PowerShellWebServices
- REST
- UniversalOutlook
您必須已獲指派權限,才能執行此指令程式。 雖然本主題已列出這個指令程式的所有參數,不過,如果某些參數並未包含在指派給您的權限中,您可能就無法存取這些參數。 若要尋找在組織中執行任何 Cmdlet 或參數所需的權限,請參閱 Find the permissions required to run any Exchange cmdlet。
範例
範例 1
Set-ClientAccessRule "Allow IMAP4" -AnyOfClientIPAddressesOrRanges @{Add="172.17.17.27/16"}
本範例會將 IP 位址範圍 172.17.17.27/16 新增至名為 Allow IMAP4 的現有用戶端存取規則,而不會影響現有的 IP 位址值。
參數
-Action
Action 參數指定用戶端存取規則的動作。 此參數的有效值為 AllowAccess 和 DenyAccess。
Type: | ClientAccessRulesAction |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Exchange Online Protection |
-AnyOfAuthenticationTypes
此參數只能在雲端式服務中運作。
AnyOfAuthenticationTypes 參數指定以用戶端驗證類型為基礎的用戶端存取規則條件。
此參數的有效值為:
- AdfsAuthentication
- BasicAuthentication
- CertificateBasedAuthentication
- NonBasicAuthentication
- OAuthAuthentication
若要輸入多個值並覆寫任何現有的專案,請使用下列語法: Value1,Value2,...ValueN
。 如果值包含空格或需要引號,請使用下列語法: "Value1","Value2",..."ValueN"
。
若要新增或移除一或多個值而不影響任何現有的專案,請使用下列語法: @{Add="Value1","Value2"...; Remove="Value3","Value4"...}
。
注意:請參閱描述一節,以查看哪些驗證類型可以搭配哪些通訊協定使用。
Type: | MultiValuedProperty |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Online, Exchange Online Protection |
-AnyOfClientIPAddressesOrRanges
AnyOfClientIPAddressesOrRanges 參數指定以用戶端 IPv4 或 IPv6 位址為基礎的用戶端存取規則條件。 有效值為:
- 單一 IP 位址:例如,192.168.1.1 或 2001:DB8::2AA:FF:C0A8:640A。
- IP 位址範圍:例如,192.168.0.1-192.168.0.254 或 2001:DB8::2AA:FF:C0A8:640A-2001:DB8::2AA:FF:C0A8:6414。
- 無類別網域路由 (CIDR) IP 位址範圍:例如,192.168.3.1/24 或 2001:DB8::2AA:FF:C0A8:640A/64。
若要輸入多個值並覆寫任何現有的專案,請使用下列語法: Value1,Value2,...ValueN
。 如果值包含空格或需要引號,請使用下列語法: "Value1","Value2",..."ValueN"
。
若要新增或移除一或多個值而不影響任何現有的專案,請使用下列語法: @{Add="Value1","Value2"...; Remove="Value3","Value4"...}
。
有關 IPv6 位址和語法的詳細資訊,請參閱此 Exchange 2013 主題:IPv6 位址基礎。
Type: | MultiValuedProperty |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Exchange Online Protection |
-AnyOfProtocols
AnyOfProtocols 參數指定以用戶端通訊協定為基礎的用戶端存取規則條件。
此參數的有效值為:
- ExchangeActiveSync
- ExchangeAdminCenter
- ExchangeWebServices
- IMAP4
- OfflineAddressBook
- OutlookAnywhere
- OutlookWebApp
- POP3
- PowerShellWebServices
- RemotePowerShell
- REST
- UniversalOutlook (郵件和行事曆應用程式)
備註:在 Exchange 2019 中,唯一支援的值是 ExchangeAdminCenter 和 RemotePowerShell。
若要輸入多個值並覆寫任何現有的專案,請使用下列語法: Value1,Value2,...ValueN
。 如果值包含空格或需要引號,請使用下列語法: "Value1","Value2",..."ValueN"
。
若要新增或移除一或多個值而不影響任何現有的專案,請使用下列語法: @{Add="Value1","Value2"...; Remove="Value3","Value4"...}
。
Type: | MultiValuedProperty |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Exchange Online Protection |
-AnyOfSourceTcpPortNumbers
將保留此參數供 Microsoft 內部使用。
Type: | MultiValuedProperty |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013 |
-Confirm
Confirm 參數會指定要顯示或隱藏確認提示。 這個參數對 Cmdlet 的影響取決於 Cmdlet 是否需要確認才能繼續作業。
- 例如,具破壞性的 Cmdlet (例如 Remove-* Cmdlet) 內建暫停,可強制您在繼續之前確認命令。 對於這些 Cmdlet,您可以使用以下確切語法來略過確認提示:
-Confirm:$false
。 - 其他大部分的 Cmdlet (例如,New-* 和 Set-* Cmdlet) 沒有內建暫停。 在使用這些 Cmdlet 時,指定不含任何值的 Confirm 參數會引入強迫您認可命令後才繼續作業的暫停。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Exchange Online Protection |
-DomainController
此參數僅適用於內部部署 Exchange。
DomainController 參數會指定此 Cmdlet 用來向 Active Directory 讀取或寫入資料的網域控制站。 您可以透過網域控制站的完整網域名稱 (FQDN) 來識別網域控制站。 例如,dc01.contoso.com。
Type: | Fqdn |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-Enabled
Enabled 參數會指定啟用或停用用戶端存取規則。 這個參數的有效值是 $true 或 $false。
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Exchange Online Protection |
-ExceptAnyOfAuthenticationTypes
此參數只能在雲端式服務中運作。
ExceptAnyOfAuthenticationTypes 參數指定以用戶端驗證類型為基礎的用戶端存取規則的例外狀況。
此參數的有效值為:
- AdfsAuthentication
- BasicAuthentication
- CertificateBasedAuthentication
- NonBasicAuthentication
- OAuthAuthentication
若要輸入多個值並覆寫任何現有的專案,請使用下列語法: Value1,Value2,...ValueN
。 如果值包含空格或需要引號,請使用下列語法: "Value1","Value2",..."ValueN"
。
若要新增或移除一或多個值而不影響任何現有的專案,請使用下列語法: @{Add="Value1","Value2"...; Remove="Value3","Value4"...}
。
注意:請參閱描述一節,以查看哪些驗證類型可以搭配哪些通訊協定使用。
Type: | MultiValuedProperty |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Online, Exchange Online Protection |
-ExceptAnyOfClientIPAddressesOrRanges
ExceptAnyOfClientIPAddressesOrRanges 參數指定以用戶端 IPv4 或 IPv6 位址為基礎的用戶端存取規則的例外狀況。 有效值為:
- 單一 IP 位址:例如,192.168.1.1 或 2001:DB8::2AA:FF:C0A8:640A。
- IP 位址範圍:例如,192.168.0.1-192.168.0.254 或 2001:DB8::2AA:FF:C0A8:640A-2001:DB8::2AA:FF:C0A8:6414。
- 無類別網域路由 (CIDR) IP 位址範圍:例如,192.168.3.1/24 或 2001:DB8::2AA:FF:C0A8:640A/64。
若要輸入多個值並覆寫任何現有的專案,請使用下列語法: Value1,Value2,...ValueN
。 如果值包含空格或需要引號,請使用下列語法: "Value1","Value2",..."ValueN"
。
若要新增或移除一或多個值而不影響任何現有的專案,請使用下列語法: @{Add="Value1","Value2"...; Remove="Value3","Value4"...}
。
有關 IPv6 位址和語法的詳細資訊,請參閱此 Exchange 2013 主題:IPv6 位址基礎。
Type: | MultiValuedProperty |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Exchange Online Protection |
-ExceptAnyOfProtocols
此參數只能在雲端式服務中運作。
ExceptAnyOfProtocols 參數指定以用戶端通訊協定為基礎的用戶端存取規則的例外狀況。
此參數的有效值為:
- ExchangeActiveSync
- ExchangeAdminCenter
- ExchangeWebServices
- IMAP4
- OfflineAddressBook
- OutlookAnywhere
- OutlookWebApp
- POP3
- PowerShellWebServices
- RemotePowerShell
- REST
- UniversalOutlook (郵件和行事曆應用程式)
若要輸入多個值並覆寫任何現有的專案,請使用下列語法: Value1,Value2,...ValueN
。 如果值包含空格或需要引號,請使用下列語法: "Value1","Value2",..."ValueN"
。
若要新增或移除一或多個值而不影響任何現有的專案,請使用下列語法: @{Add="Value1","Value2"...; Remove="Value3","Value4"...}
。
Type: | MultiValuedProperty |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Online, Exchange Online Protection |
-ExceptAnyOfSourceTcpPortNumbers
將保留此參數供 Microsoft 內部使用。
Type: | MultiValuedProperty |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013 |
-ExceptUserIsMemberOf
將保留此參數供 Microsoft 內部使用。
Type: | MultiValuedProperty |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013 |
-ExceptUsernameMatchesAnyOfPatterns
此參數只能在雲端式服務中運作。
ExceptUsernameMatchesAnyOfPatterns 參數指定以格式 <Domain>\<UserName>
的使用者帳戶名稱 (例如,contoso.com\jeff
) 為基礎的用戶端存取規則例外狀況。 此參數接受文字和萬用字元 (*) (例如 , *jeff*
但不 jeff*
) 。 非英數字元不需要逸出字元。
若要輸入多個值並覆寫任何現有的專案,請使用下列語法: Value1,Value2,...ValueN
。 如果值包含空格或需要引號,請使用下列語法: "Value1","Value2",..."ValueN"
。
若要新增或移除一或多個值而不影響任何現有的專案,請使用下列語法: @{Add="Value1","Value2"...; Remove="Value3","Value4"...}
。
Type: | MultiValuedProperty |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Exchange Online Protection |
-Identity
Identity 參數會指定您想要修改的用戶端存取規則。 您可以使用唯一識別用戶端存取規則的任何值。 例如:
- 名稱
- 辨別名稱 (DN)
- GUID
Type: | ClientAccessRuleIdParameter |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Exchange Online Protection |
-Name
Name 參數指定用戶端存取規則的唯一名稱。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Exchange Online Protection |
-Priority
Priority 參數會指定用戶端存取規則的優先順序值。 較低的整數值表示較高的優先順序,而優先順序較高的規則則會在優先順序較低的規則之前進行評估。 預設值為 1。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Exchange Online Protection |
-Scope
Scope 參數會指定用戶端存取規則的範圍。 有效值為:
- Users:此規則僅適用於使用者連線。
- All:此規則會套用到所有連線 (使用者和中介層應用程式)。
Type: | ClientAccessRulesScope |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2016, Exchange Server 2019, Exchange Online, Exchange Online Protection |
-UserIsMemberOf
將保留此參數供 Microsoft 內部使用。
Type: | MultiValuedProperty |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013 |
-UsernameMatchesAnyOfPatterns
此參數只能在雲端式服務中運作。
UsernameMatchesAnyOfPatterns 參數指定以格式 <Domain>\<UserName>
的使用者帳戶名稱 (例如,contoso.com\jeff
) 為基礎的用戶端存取規則條件。 此參數接受文字和萬用字元 (*) (例如 , *jeff*
但不 jeff*
) 。 非英數字元不需要逸出字元。
若要輸入多個值並覆寫任何現有的專案,請使用下列語法: Value1,Value2,...ValueN
。 如果值包含空格或需要引號,請使用下列語法: "Value1","Value2",..."ValueN"
。
若要新增或移除一或多個值而不影響任何現有的專案,請使用下列語法: @{Add="Value1","Value2"...; Remove="Value3","Value4"...}
。
Type: | MultiValuedProperty |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Exchange Online Protection |
-UserRecipientFilter
此參數只能在雲端式服務中運作。
UserRecipientFilter 參數會指定用戶端存取規則的條件,該規則會使用 OPATH 篩選語法,根據一組有限的收件者屬性來識別使用者。 用戶端存取規則不支援可用收件者屬性的完整清單。
您可以使用下列屬性搭配此參數:
- 鄉/鎮/市/區
- Company
- CountryOrRegion (ISO 3166-1 Alpha-2 country code.)
- CustomAttribute1 到 CustomAttribute15
- 部門
- 辦公室
- PostalCode
- StateOrProvince
- StreetAddress
此參數的基本語法為 "Property -ComparisonOperator 'Value'"
:
- 屬性是上述清單中其中一個可篩選的屬性 (例如
City
或CustomAttribute1
) 。 - ComparisonOperator 是 OPATH 比較運算子 (例如
-eq
equals 和-like
字串比較) 。 如需比較運算子的詳細資訊,請參閱 about_Comparison_Operators。 - Value 是要搜尋的屬性值。 以單引號括住文字值和變數 (
'Value'
或'$Variable'
)。 如果變數值包含單引號,您必須識別 (逸出) 單引號,以正確展開變數。 例如,使用'$($User -Replace "'","''")'
,而不是'$User'
。 請勿以引號括住整數或系統值 (例如,請改用500
、$true
、$false
或$null
) 。 - 以雙引號 「」 括住整個 OPATH 篩選準則。 如果篩選條件包含系統值 (例如
$true
、$false
或$null
),請改為使用單引號 ' '。 雖然此參數是字串 (不是系統區塊),您也可以使用大括弧 { },但只有在篩選條件不包含變數時。
例如:
"City -eq 'Redmond'"
"CountryOrRegion -eq 'SG'"
.
您可以使用邏輯運算子 -and
和 -or
將多個搜尋準則鏈結在一起。 例如:
"CustomAttribute1 -eq 'AllowOWA' -and CountryOrRegion -eq AU'"
"(CountryOrRegion -eq 'US' -and Department -eq 'Sales') -or Department -eq 'Research'"
.
如需 Exchange 中 OPATH 篩選語法的詳細資訊,請參閱 其他 OPATH 語法資訊。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Exchange Online Protection |
-WhatIf
WhatIf 參數會模擬命令的動作。 使用此參數時,您不需要實際套用變更即可檢視可能會發生的變更。 您不需要使用此參數指定值。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Exchange Online Protection |
輸入
Input types
若要查看此指令程式可接受的輸入類型,請參閱指令程式輸入和輸出類型。 如果指令程式的 [輸入類型] 欄位是空的,表示指令程式不接受輸入資料。
輸出
Output types
若要查看此指令程式可接受的傳回類型 (也就是所謂的輸出類型),請參閱指令程式輸入和輸出類型。 如果 [輸出類型] 欄位是空的,表示指令程式不會傳回資料。