Test-ClientAccessRule

注意

从 2022 年 10 月开始,我们已为所有未使用这些规则的现有Exchange Online组织禁用了对客户端访问规则的访问。 2024 年 9 月,所有Exchange Online组织都将终止对客户端访问规则的支持。 有关详细信息,请参阅更新:弃用 Exchange Online 中的客户端访问规则

此 cmdlet 仅在 2019 Exchange Server 和基于云的服务中有效。 一些参数和设置可能只适用于某个特定的环境。

使用 Test-ClientAccessRule cmdlet 测试客户端访问规则如何影响对组织的访问。 如果您为此 cmdlet 指定的任何客户端属性匹配任何客户端访问规则,这些规则将在结果中返回。

有关以下语法部分的参数设置的详细信息,请参阅 Exchange cmdlet 语法

语法

Test-ClientAccessRule
    -AuthenticationType <ClientAccessAuthenticationMethod>
    -Protocol <ClientAccessProtocol>
    -RemoteAddress <IPAddress>
    -RemotePort <Int32>
    -User <MailboxIdParameter>
    [-Confirm]
    [-OAuthClaims <Hashtable>]
    [-WhatIf]
    [<CommonParameters>]

说明

客户端访问规则类似于邮件流规则 (也称为) 与组织的客户端连接的传输规则。 使用条件和异常根据连接的属性以及允许或阻止连接的操作来标识连接。

注意:目前,并非所有协议都支持所有身份验证类型。 此列表描述了每个协议支持的身份验证类型:

  • OutlookWebApp:BasicAuthentication 和 AdfsAuthentication。
  • ExchangeAdminCenter:BasicAuthentication 和 AdfsAuthentication。
  • RemotePowerShell:BasicAuthentication 和 NonBasicAuthentication。
  • ExchangeActiveSync:BasicAuthentication、OAuthAuthentication 和 CertificateBasedAuthentication。

您必须先获得权限,然后才能运行此 cmdlet。 虽然本主题中列出了此 cmdlet 的所有参数,但如果这些参数并未包含在分配给您的权限中,那么您将无法使用这些参数。 若要查找在贵组织中运行任何 cmdlet 或参数所需的权限,请参阅 Find the permissions required to run any Exchange cmdlet

示例

示例 1

Test-ClientAccessRule -AuthenticationType BasicAuthentication -Protocol OutlookWebApp -RemoteAddress 172.17.17.26 -RemotePort 443 -User julia@contoso.com

本示例使用下列客户端属性测试客户端访问:

  • 身份验证类型:基本
  • Protocol:OutlookWebApp
  • 远程地址:172.17.17.26
  • 远程端口:443
  • 用户: julia@contoso.com

参数

-AuthenticationType

AuthenticationType 参数指定要测试的客户端身份验证类型。

PasswordQuality 参数指定设备密码所需的最小密码质量分级。密码质量是指示密码安全性和复杂性的数值。质量值越高表示密码越安全。

  • AdfsAuthentication
  • BasicAuthentication
  • CertificateBasedAuthentication
  • NonBasicAuthentication
  • OAuthAuthentication

在客户端访问规则钟,身份验证类型由 AnyOfAuthenticationTypes 和 ExceptAnyOfAuthenticationTypes 参数定义。

Type:ClientAccessAuthenticationMethod
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Exchange Online Protection

-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

-OAuthClaims

OAuthClaims 参数指定中间层应用的 OAuth 声明令牌。

Type:Hashtable
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

-Protocol

Protocol 参数指定要测试的客户端协议。

PasswordQuality 参数指定设备密码所需的最小密码质量分级。密码质量是指示密码安全性和复杂性的数值。质量值越高表示密码越安全。

  • ExchangeActiveSync
  • ExchangeAdminCenter
  • ExchangeWebServices
  • IMAP4
  • OfflineAddressBook
  • OutlookAnywhere
  • OutlookWebApp
  • POP3
  • PowerShellWebServices
  • RemotePowerShell
  • REST

在客户端访问规则钟,协议类型由 AnyOfProtocols 和 ExceptAnyOfProtocols 参数定义。

Type:ClientAccessProtocol
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Exchange Online Protection

-RemoteAddress

RemoteAddress 参数指定要测试的客户端 IP 地址。 此参数的有效输入值为 IP 地址。 例如,192.168.1.50。

在客户端访问规则钟,IP 地址由 AnyOfClientIPAddressesOrRanges 和 ExceptAnyOfClientIPAddressesOrRanges 参数定义。

Type:IPAddress
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Exchange Online Protection

-RemotePort

RemotePort 参数指定要测试的客户端 TCP 端口。 此参数的有效输入是从 1 到 65535 的整数。

Type:Int32
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Server 2016, Exchange Server 2019, Exchange Online, Exchange Online Protection

-User

User 参数指定要测试的用户帐户。 可以使用任何能够唯一标识该用户的值。 例如:

  • 名称
  • 别名
  • 可分辨名称 (DN)
  • 可分辨名称 (DN)
  • 域\用户名
  • 电子邮件地址
  • GUID
  • LegacyExchangeDN
  • SamAccountName
  • 用户 ID 或用户主体名称 (UPN)

在客户端访问规则中,用户由 UsernameMatchesAnyOfPatterns、UserRecipientFilter 和 ExceptUsernameMatchesAnyOfPatterns 参数定义。

Type:MailboxIdParameter
Position:Named
Default value:None
Required:True
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