Test-PowerShellConnectivity
此 cmdlet 仅适用于本地 Exchange。
使用 Test-PowerShellConnectivity cmdlet 测试客户端与 Exchange 远程 PowerShell 虚拟目录的连接。
注意:此 cmdlet 在 Exchange 2010 中效果最佳。 在 Exchange 的更高版本中,此 cmdlet 的功能已替换为托管可用性。 为了获得最佳结果,请使用 Invoke-MonitoringProbe cmdlet 并指定相关的活动监视器探测,而不是使用此 cmdlet。
有关以下语法部分的参数设置的详细信息,请参阅 Exchange cmdlet 语法。
语法
Test-PowerShellConnectivity
-ConnectionUri <Uri>
-TestCredential <PSCredential>
[-Authentication <AuthenticationMethod>]
[-Confirm]
[-DomainController <Fqdn>]
[-MailboxServer <ServerIdParameter>]
[-MonitoringContext]
[-ResetTestAccountCredentials]
[-TrustAnySSLCertificate]
[-WhatIf]
[<CommonParameters>]
Test-PowerShellConnectivity
[[-ClientAccessServer] <ServerIdParameter>]
[-TestType <OwaConnectivityTestType>]
[-VirtualDirectoryName <String>]
[-Authentication <AuthenticationMethod>]
[-Confirm]
[-DomainController <Fqdn>]
[-MailboxServer <ServerIdParameter>]
[-MonitoringContext]
[-ResetTestAccountCredentials]
[-TrustAnySSLCertificate]
[-WhatIf]
[<CommonParameters>]
说明
Test-PowerShellConnectivity cmdlet 通过连接到指定的远程 PowerShell 虚拟目录、指定 Exchange 服务器上的任何远程 PowerShell 虚拟目录或本地 Active Directory 站点中可用的任何远程 PowerShell 虚拟目录来测试 Exchange 远程 PowerShell 连接。
首次使用此 cmdlet 时,您可能需要创建一个测试用户。 若要创建测试用户,请运行以下命令:
& $env:ExchangeInstallPath\Scripts\New-TestCasConnectivityUser.ps1
测试结果显示在屏幕上。 此 cmdlet 将返回以下信息。
- CasServer:客户端连接到的 Exchange 服务器。
- LocalSite:本地 Active Directory 站点的名称。
- 方案:测试的操作。 值为:Logon User.
- 结果:返回的值通常为 Success、Skipped 或 Failure。
- 延迟 (MS) :完成测试所需的时间(以毫秒为单位)。
- 错误:遇到的任何错误消息。
可以通过将输出管道连接到 ConvertTo-Html 和 Set-Content,将结果写入文件。 例如:Test-PowerShellConnectivity -ClientAccessServer MBX01 | ConvertTo-Html | Set-Content -Path "C:\My Documents\PowerShell Test.html"
。
您必须先获得权限,然后才能运行此 cmdlet。 虽然本主题中列出了此 cmdlet 的所有参数,但如果这些参数并未包含在分配给您的权限中,那么您将无法使用这些参数。 若要查找在贵组织中运行任何 cmdlet 或参数所需的权限,请参阅 Find the permissions required to run any Exchange cmdlet。
示例
示例 1
Test-PowerShellConnectivity -ClientAccessServer MBX2 -VirtualDirectoryName "PowerShell (Default Web Site)" -TrustAnySSLCertificate
本示例测试 MBX2 服务器上的 PowerShell 虚拟目录(默认网站)。 TrustAnySSLCertificate 开关用于在连接过程中跳过证书检查。
示例 2
$UserCredentials = Get-Credential
Test-PowerShellConnectivity -ConnectionUri https://contoso.com/powershell -TestCredential $UserCredentials -Authentication Basic
此示例测试 在 中 https://contoso.com/powershell
可用的远程 PowerShell 虚拟目录。 SSL 证书不应与 URL 不匹配,因此,不使用 TrustAnySSLCertificate 开关。 虚拟目录配置为使用基本身份验证。
用于连接到虚拟目录的凭据存储在 $UserCredentials 变量中。 然后测试将如上文所述运行。
参数
-Authentication
Authentication 参数指定用于连接的身份验证类型。 有效值包含:
- 默认值
- 基本
- Credssp
- 摘要
- Kerberos
- 洽谈
Type: | AuthenticationMethod |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-ClientAccessServer
ClientAccessServer 参数指定要测试的 Exchange 服务器。 此服务器已安装客户端访问服务器角色,并负责接受客户端连接。
可以使用唯一标识该服务器的任何值。 例如:
- 名称
- 可分辨名称 (DN)
- ExchangeLegacyDN
- GUID
此参数不能与 ConnectionUri 参数一起使用。
Type: | ServerIdParameter |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-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 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-ConnectionUri
ConnectionUri 参数指定要测试的远程 PowerShell 虚拟目录的 URL, https://contoso.com/powershell
例如 。
此参数不能与 ClientAccessServer 参数一起使用。
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-DomainController
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 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-MailboxServer
MailboxServer 参数指定要测试的 Exchange 邮箱服务器。 此参数标识接受来自客户端连接的前端服务器的代理连接的后端服务器。
MailboxServer 参数指定要测试的 exExchange2k16 或 exExchange2k13 邮箱服务器。 例如:
- 名称
- 可分辨名称 (DN)
- ExchangeLegacyDN
- GUID
如果不使用此参数,则会测试到本地 Active Directory 站点中所有邮箱服务器的连接。
Type: | ServerIdParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-MonitoringContext
MonitoringContext 开关在结果中添加相关的监视事件和性能计数器。 不必为此开关指定值。
通常,在将输出传递到 Microsoft System Center Operations Manager (SCOM) 时,可以在结果中包含监视事件和性能计数器。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-ResetTestAccountCredentials
ResetTestAccountCredentials 开关重置用于运行此命令的测试帐户的密码。 不必为此开关指定值。
测试帐户的密码通常每七天重置一次。 出于安全考虑,请使用此开关根据需要随时强制重置密码。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-TestCredential
TestCredential 参数指定用于测试的凭据。
此参数的值需要 Get-Credential cmdlet。 要暂停此命令并接收凭据提示,请使用值 (Get-Credential)
。 或者,在运行此命令之前,请将凭据存储在变量(例如,$cred = Get-Credential
)中,然后将变量名称 ($cred
) 用作此参数。 有关详细信息,请参阅 Get-Credential。
只能将此参数与 ConnectionUri 参数一起使用。
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-TestType
TestType 参数指定命令测试的是内部 URL 还是外部 URL。 值为 Internal 和 External。 默认值为 Internal。
此参数只能与 ClientAccessServer 参数一起使用。
Type: | OwaConnectivityTestType |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-TrustAnySSLCertificate
TrustAnySSLCertificate 开关允许 Exchange 接受来自不受信任的证书颁发机构的证书, (CA) 。 不必为此开关指定值。
TrustAnySSLCertificate 开关指定是否忽略安全套接字层 (SSL) 证书验证失败。 您无需使用此开关指定值。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-VirtualDirectoryName
VirtualDirectoryName 参数指定要测试的远程 PowerShell 虚拟目录的名称。 将包含空格的值用引号 (") 括住。
此参数只能与 ClientAccessServer 参数一起使用。 如果不使用此参数,将测试服务器上所有可用的远程 PowerShell 虚拟目录。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
-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 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019 |
输入
Input types
若要了解此 cmdlet 接受的输入类型,请参阅 cmdlet 的输入和输出类型。 如果 cmdlet 的"输入类型"字段为空,则表明此 cmdlet 不接受输入数据。
输出
Output types
若要了解此 cmdlet 接受的返回类型(亦称为"输出类型"),请参阅 cmdlet 的输入和输出类型。 如果"输出类型"字段为空,则表明此 cmdlet 不返回任何数据。