我目前正在尝试在2个不受信任的域之间启用Windows远程管理(特别是Powershell Remoting),并且没有运气。
我的设置的简要说明:
- domain1-我的工作站在此域上
- domain2-我要连接的服务器在此域上
这些域之间不信任。
我正在尝试从工作站(已加入domain1)使用以下命令创建Powershell远程连接:
参数( [参数(必须= $ True)] $服务器 ) $ username =“域\用户” $ password =读取主机“为$ username输入密码” -AsSecureString $ credential =新对象System.Management.Automation.PSCredential($ username,$ password) $ session = New-PSSession“ $ server”-身份验证CredSSP-凭据$ credential -UseSSL -SessionOption(New-PSSessionOption -SkipCACheck -SkipCNCheck) Enter-PSSession $ session
导致以下错误消息:
New-PSSession:[computername.domain2.com]连接到远程服务器computername.domain2.com失败,并显示以下错误消息:WinRM客户端 无法处理该请求。由于计算机不受信任,因此计算机策略不允许将用户凭据委派给目标计算机。目标的身份 如果使用以下命令将WSMAN服务配置为使用有效证书,则可以验证计算机:winrm set winrm / config / service'@ {CertificateThumbprint =“”}'或 您可以检查事件查看器中是否有指定无法创建以下SPN的事件:WSMAN /。如果发现此事件,则可以使用以下命令手动创建SPN setspn.exe。如果存在SPN,但是CredSSP无法使用Kerberos验证目标计算机的身份,并且您仍然希望允许将用户凭据委派给目标计算机 计算机,请使用gpedit.msc并查看以下策略:计算机配置->管理模板->系统->凭据委派->允许仅具有NTLM的新凭据 服务器身份验证。验证是否已启用并配置了适用于目标计算机的SPN。例如,对于目标计算机名称“ myserver.domain.com”,SPN可以是 下列之一:WSMAN / myserver.domain.com或WSMAN / *。domain.com。这些更改后,请再次尝试该请求。有关更多信息,请参见about_Remote_Troubleshooting帮助主题。
我已经尝试/验证了以下内容:
- 我验证了域2中的WSMAN \ computername和WSMAN \ computername.domain2.com都存在SPN。
- 验证正确设置了计算机配置->管理模板->系统->凭据委派->允许仅NTLM服务器身份验证的新凭据。
- 在目标计算机上将winrm配置为使用ssl。
- 使用以下命令在目标计算机和本地工作站上配置了CredSSP:
在目标计算机上启用-WSManCredSSP-角色服务器# Enable-WSManCredSSP-角色客户端-DelegateComputer *-强制
- 我已验证,没有FW规则(位于计算机本地或网络本地)阻止我的访问。
没有一个允许我从我在domain1中的工作站成功连接到domain2中的目标计算机的。我可以成功连接到加入domain1的其他服务器,而不能成功连接到domain2中的服务器。我还有什么需要寻找的东西,和/或设法使它起作用?
2015年6月8日更新 实际上,我已经能够验证无需使用CredSSP就可以从工作站连接到服务器,这很好。但是,我需要能够针对SharePoint运行脚本,并且在没有CredSSP的情况下执行此操作会失败,并显示权限错误。
Enable-WSManCredSSP -Role Client -DelegateComputer WSMAN/computername.domain2.com
((msdn.microsoft.com/en-us/library/ee309365(v=vs.85).aspx,第3点。)