我有两个Windows 7 Pro系统,一个主机系统和一个VM,一个是主机系统。我正在尝试在主机系统上创建一个新的PSSession来控制guest虚拟机,两者都运行Powershell 4.0。
由于我们在办公室设置了DHCP,我要做的第一件事就是建立每个IP地址。然后我在两台机器上运行下面的代码 -
Set-Item wsman:\localhost\client\trustedhosts "$relevantIP" -Force
然后,我在主机上使用WSMan测试系统是否准备就绪 -
Test-WSMan $remoteIP
wsmid : http://schemas.dmtf.org/wbem/wsman/identity/1/wsmanidentity.xsd
ProtocolVersion : http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd
ProductVendor : Microsoft Corporation
ProductVersion : OS: 0.0.0 SP: 0.0 Stack: 3.0
这一切都非常有效。此时我曾使用以下
创建一个新的PSSession$credObject =
$Host.ui.PromptForCredential(
"Need credentials",
"Please enter password for the following IP $remoteIP",
$remoteUsername,
""
)
$remoteSession = New-PSSession -ComputerName $remoteIP -Credential $credObject
New-PSSession:[10.141.114.91]连接到远程服务器 10.141.114.91失败,并显示以下错误消息:WinRM客户端无法处理请求。可以使用默认认证 在以下条件下使用IP地址:传输是 HTTPS或目标位于TrustedHosts列表中,并且是显式的 提供凭据。使用winrm.cmd配置TrustedHosts。 请注意,TrustedHosts列表中的计算机可能不是 认证。有关如何设置TrustedHosts运行的更多信息 以下命令:winrm help config。有关更多信息,请参阅 about_Remote_Troubleshooting帮助主题。在线:1字符:18 + $ remoteSession = New-PSSession -ComputerName“10.141.114.91”-Credential“SESA40 ...... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:OpenError:(System.Manageme .... RemoteRunspace:RemoteRunspace)[New-PSSession], PSRemotingTransportException + FullyQualifiedErrorId:CannotUseIPAddress,PSSessionOpenFailed
我不知道为什么它在尝试从主机系统连接到VM时已经开始这样做了。我可以在guest虚拟机中从guest虚拟机中创建一个新的PSSession,但不再相反。
错误消息显示“默认 在以下条件下,身份验证可以与IP地址一起使用:...目标位于TrustedHosts列表中,并提供显式凭据。“我已经为每个WSMan TrustedHosts字段添加了对应的IP并提供了显式凭据。
任何帮助都会非常感激,因为我正试图想想可能出现的问题。
更新
在遵循一位评论员的建议后,我尝试使用不同的身份验证方法。
$remoteSession = New-PSSession -ComputerName "10.141.114.91" -Credential "Test" -ErrorAction Stop -Authentication Basic
The WinRM client cannot process the request. Unencrypted traffic is currently
disabled in the client configuration. Change the client configuration and try the request again.
所以我在两台机器上运行set-item WSMan:\localhost\Client\allowunencrypted $true
。现在尝试获取PSSession会产生错误
Get-PSSession -ComputerName "10.141.114.91" -Credential "Test" -Authentication Basic
The WinRM client cannot process the request. If the authentication scheme is
different from Kerberos, or if the client computer is not joined to a domain, then HTTPS transport must be used or the destination machine must be added to the TrustedHosts configuration setting.
**更新2 **
如果有人遇到同样的问题并且碰到了这个问题 - 我的问题结果是网络故障然后以某种方式为wsman创建了一个IP地址列表:\ localhost \ client \ trustedhosts错过了IP之间的逗号。