Test-ComputerSecureChannel

测试并修复本地计算机与其域之间的安全通道。

语法

Test-ComputerSecureChannel
    [-Repair]
    [-Server <String>]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

说明

Test-ComputerSecureChannel cmdlet 通过检查本地计算机与其域之间的通道信任关系的状态,来验证通道是否正常工作。 如果连接失败,可以使用 Repair 参数尝试恢复它。

如果通道正常工作,则 Test-ComputerSecureChannel 将返回 $True;否则,返回 $False。 此结果使你可以在函数和脚本的条件语句中使用该 cmdlet。 若要获取更详细的测试结果,请使用 Verbose 参数。

此 cmdlet 的工作原理与 NetDom.exe 非常类似。 NetDom 和 Test-ComputerSecureChannel 均使用 NetLogon 服务执行操作。

示例

示例 1:测试本地计算机与其域之间的通道

Test-ComputerSecureChannel

此命令测试本地计算机与它所加入的域之间的通道。

示例 2:测试本地计算机和域控制器之间的通道

Test-ComputerSecureChannel -Server "DCName.fabrikam.com"
True

此命令指定要进行测试的首选域控制器。

示例 3:重置本地计算机与其域之间的通道

Test-ComputerSecureChannel -Repair

此命令重置本地计算机与其域之间的通道。

示例 4:显示有关测试的详细信息

Test-ComputerSecureChannel -Verbose

VERBOSE: Performing operation "Test-ComputerSecureChannel" on Target "SERVER01".
True
VERBOSE: "The secure channel between 'SERVER01' and 'net.fabrikam.com' is alive and working correctly."

此命令使用通用参数 Verbose 请求有关操作的详细消息。 有关 Verbose 的详细信息,请参阅 about_CommonParameters

示例 5:运行脚本前测试连接

if (!(Test-ComputerSecureChannel)) {
    Write-Host "Connection failed. Reconnect and retry."
}
else {
    &(.\Get-Servers.ps1)
}

此示例演示如何使用 Test-ComputerSecureChannel 在运行需要连接的脚本之前测试连接。

if 语句将在运行脚本前检查 Test-ComputerSecureChannel 返回的值。

参数

-Confirm

提示你在运行 cmdlet 之前进行确认。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

指定有权执行此操作的用户帐户。 键入用户名,如 User01 或 Domain01\User01;或输入一个 PSCredential 对象,如 Get-Credential cmdlet 返回的对象。 默认情况下,该 cmdlet 使用当前用户的凭据。

Credential 参数设计用于使用 Repair 参数来修复计算机与域之间的通道的命令。

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Repair

指示此 cmdlet 删除由 NetLogon 服务建立的通道,然后再重建该通道。 使用此参数可尝试恢复未通过测试的连接。

若要使用此参数,则当前用户必须是本地计算机上管理员组的成员。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Server

指定要运行该命令的域控制器。 如果未指定此参数,则此 cmdlet 将选择默认域控制器来执行操作。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

None

不能通过管道将输入传递给此 cmdlet。

输出

Boolean

如果连接正常工作,则该 cmdlet 将返回 $True;否则,返回 $False

备注

  • 若要在 Windows Vista 以及更高版本的 Windows 操作系统上运行 Test-ComputerSecureChannel 命令,请使用“以管理员身份运行”选项打开 Windows PowerShell。
  • Test-ComputerSecureChannel 通过使用 I_NetLogonControl2 函数来实现,该函数可控制 Netlogon 服务的各个方面。