Test-ImapConnectivity
此 cmdlet 仅适用于本地 Exchange。
使用 Test-ImapConnectivity cmdlet 验证与 Microsoft Exchange IMAP4 服务的连接是否按预期工作。
注意:此 cmdlet 在 Exchange 2010 中效果最佳。 在 Exchange 的更高版本中,此 cmdlet 的功能已替换为托管可用性。 为了获得最佳结果,请使用 Invoke-MonitoringProbe cmdlet 并指定相关的活动监视器探测,而不是使用此 cmdlet。
有关以下语法部分的参数设置的详细信息,请参阅 Exchange cmdlet 语法。
语法
Test-ImapConnectivity
[[-ClientAccessServer] <ServerIdParameter>]
[-Confirm]
[-ConnectionType <ProtocolConnectionType>]
[-DomainController <Fqdn>]
[-LightMode]
[-MailboxCredential <PSCredential>]
[-MailboxServer <ServerIdParameter>]
[-MonitoringContext]
[-PerConnectionTimeout <Int32>]
[-PortClientAccessServer <Int32>]
[-ResetTestAccountCredentials]
[-Timeout <UInt32>]
[-TrustAnySSLCertificate]
[-WhatIf]
[<CommonParameters>]
说明
Test-ImapConnectivity cmdlet 通过连接到指定的邮箱、指定的 Exchange 服务器或本地 Active Directory 站点中可用的所有 Exchange 服务器来测试 IMAP4 连接。
首次使用此 cmdlet 时,您可能需要创建一个测试用户。 若要创建测试用户,请运行以下命令:
& $env:ExchangeInstallPath\Scripts\New-TestCasConnectivityUser.ps1
测试结果显示在屏幕上。 此 cmdlet 将返回以下信息。
- CasServer:客户端连接到的 Exchange 服务器。
- LocalSite:本地 Active Directory 站点的名称。
- 方案:测试的操作。 测试 IMAP4 连接使用 IMAP4 协议连接到服务器,搜索测试消息并将其与超过 24 小时的任何消息一起删除。
- 结果:返回的值通常为 Success、Skipped 或 Failure。
- 延迟 (MS) :完成测试所需的时间(以毫秒为单位)。
- 错误:遇到的任何错误消息。
可以通过将输出管道连接到 ConvertTo-Html 和 Set-Content,将结果写入文件。 例如:Test-IMAPConnectivity -ClientAccessServer MBX01 | ConvertTo-Html | Set-Content -Path "C:\My Documents\IMAP Test.html"
。
您必须先获得权限,然后才能运行此 cmdlet。 虽然本主题中列出了此 cmdlet 的所有参数,但如果这些参数并未包含在分配给您的权限中,那么您将无法使用这些参数。 若要查找在贵组织中运行任何 cmdlet 或参数所需的权限,请参阅 Find the permissions required to run any Exchange cmdlet。
重要说明:在 Exchange 2013 或更高版本中,运行此命令以测试未托管邮箱的活动邮箱数据库副本的 Exchange 服务器上的单个邮箱时,可能会看到以下错误消息:
Unable to create MailboxSession object to access the mailbox [user@contoso.com]. Detailed error information: [Microsoft.Exchange.Data.Storage.WrongServerException]: The user and the mailbox are in different Active Directory sites. Inner error [Microsoft.Mapi.MapiExceptionMailboxInTransit]: MapiExceptionMailboxInTransit: Detected site violation (hr=0x0, ec=1292)
收到此错误时,请在托管活动邮箱数据库副本的服务器上再次运行 命令,验证 IMAP 是否适用于邮箱。
示例
示例 1
Test-ImapConnectivity -ClientAccessServer Contoso12 -MailboxCredential (Get-Credential contoso\kweku)
本示例使用用户 contoso\kweku 的凭据测试服务器 Contoso12 的客户端 IMAP4 连接情况。
示例 2
Test-ImapConnectivity -ClientAccessServer Contoso12
此示例测试名为 Contoso12 的服务器客户端 IMAP4 连接,并测试所有 Exchange 邮箱。
参数
-ClientAccessServer
ClientAccessServer 参数指定要测试的 Exchange 服务器。 此服务器已安装客户端访问服务器角色,并负责接受客户端连接。
可以使用唯一标识该服务器的任何值。 例如:
- 名称
- 可分辨名称 (DN)
- ExchangeLegacyDN
- GUID
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 |
-ConnectionType
ConnectionType 参数指定用于连接到 IMAP4 服务的连接类型。 有效值包含:
- 明文
- Ssl
- Tls
Type: | ProtocolConnectionType |
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 |
-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 |
-LightMode
LightMode 开关指示该命令只使用 IMAP4 协议执行到服务器的测试登录。 不必为此开关指定值。
如果不使用此开关,此命令还会使用 IMAP4 协议测试邮件的发送和接收。
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 |
-MailboxCredential
MailboxCredential 参数指定用于单个邮箱测试的邮箱凭据。
此参数的值需要 Get-Credential cmdlet。 要暂停此命令并接收凭据提示,请使用值 (Get-Credential)
。 或者,在运行此命令之前,请将凭据存储在变量(例如,$cred = Get-Credential
)中,然后将变量名称 ($cred
) 用作此参数。 有关详细信息,请参阅 Get-Credential。
Type: | PSCredential |
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 |
-PerConnectionTimeout
PerConnectionTimeout 参数指定每个连接等待测试操作完成的时间长度(秒)。 有效值的范围在 0 到 120 秒之间。 默认值为 120 秒。
建议将此参数配置为大于或等于 5 秒的值。
Type: | Int32 |
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 |
-PortClientAccessServer
PortClientAccessServer 参数指定用于连接到客户端访问服务器的端口。 IMAP4 的默认端口为 143。 有效范围为 0 到 65,535。
Type: | Int32 |
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 |
-Timeout
Timeout 参数指定等待测试操作完成的时间(秒)。 有效值的范围在 0 到 3600 秒(1 小时)之间。 默认值为 180 秒(3 分钟)。
建议将此参数配置为大于或等于 5 秒的值。
Type: | UInt32 |
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 |
-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 不返回任何数据。