通过不受信任的域进行Windows远程pipe理

我目前正试图启用2个不受信任的域之间的Windows远程pipe理(特别是,Powershell远程),并没有运气。

我的设置简要说明:

  • domain1 – 我的工作站在这个域上
  • 域2 – 我想连接到的服务器是在这个域

这些领域之间没有信任。

我试图从我的工作站(join到domain1)使用以下命令来创buildPowershell远程连接:

参数(
     [参数(强制性= $真)]
     $服务器
 )

 $ username =“domain \ user”
 $ password = read-host“为$ usernameinput密码”-AsSecureString

 $ credential = New-Object System.Management.Automation.PSCredential($ username,$ password)

 $ session = New-PSSession“$ server”-Authentication CredSSP -Credential $ credential -UseSSL -SessionOption(New-PSSessionOption -SkipCACheck -SkipCNCheck)
input-PSSession $会话

这会导致以下错误消息:

 New-PSSession:[computername.domain2.com]连接到远程服务器computername.domain2.com失败,并显示以下错误消息:WinRM客户端
无法处理请求。 计算机策略不允许将用户凭据委派给目标计算机,因为计算机不受信任。 目标的身份
如果使用以下命令将WSMAN服务configuration为使用有效证书,则可以validation计算机:winrm set winrm / config / service'@ {CertificateThumbprint =“”}“或
您可以检查事件查看器中是否存在指定无法创build以下SPN的事件:WSMAN /。 如果发现此事件,则可以使用手动创buildSPN
 setspn.exe。 如果存在SPN,但CredSSP不能使用Kerberos来validation目标计算机的身份,并且您仍然希望允许将用户凭据委派给目标
计算机,请使用gpedit.msc并查看以下策略:计算机configuration - >pipe理模板 - >系统 - >凭据委派 - >仅允许使用NTLM的新凭据
服务器authentication。 validation它是否启用并configuration了适用于目标计算机的SPN。 例如,对于目标计算机名称“myserver.domain.com”,SPN可以是
以下其中一项:WSMAN / myserver.domain.com或WSMAN / *。domain.com。 这些更改后再次尝试请求。 有关更多信息,请参阅about_Remote_Troubleshooting帮助主题。

我已经尝试/validation了以下几件事情:

  1. 我validation了域2中的WSMAN \ computername&WSMAN \ computername.domain2.com存在SPN。
  2. 已validation计算机configuration – >pipe理模板 – >系统 – >凭据委派 – >允许使用仅NTLM的服务器身份validation的新凭据已正确设置。
  3. 在目标计算机上configurationwinrm以使用ssl。
  4. 在目标计算机和本地工作站上使用以下命令configurationCredSSP:
在目标计算机上启用-WSManCredSSP -RO服务器#
启用-WSManCredSSP -Role客户端-DelegateComputer * -Force
  1. 我已经validation过,没有防火墙规则,无论是在本地计算机或networking上阻止我的访问。

其中没有一个允许我成功连接到domain1中的工作站的域2中的目标计算机。 我可以成功连接到join到domain1的其他服务器,而不是domain2中的服务器。 还有什么我应该找的和/或试图让这个工作?

更新06/08/2015我实际上已经能够validation,我可以连接到服务器从我的工作站没有使用CredSSP,这将是好的; 但是,我需要能够对SharePoint运行脚本,而没有CredSSP这样做会失败,并具有权限错误。

此MSDN文章显示如何configurationWinRM多跳支持,这也支持当Kerberos不是一个选项时进行连接。 下面小结。

Windows远程pipe理(WinRM)支持在多台远程计算机上委派用户凭据。 多跳支持function现在可以使用凭证安全服务提供程序(CredSSP)进行身份validation。 CredSSP使应用程序能够将用户的凭据从客户端计算机委托给目标服务器。

CredSSP身份validation适用于不能使用Kerberos委派的环境。 增加了对CredSSP的支持,允许用户连接到远程服务器,并能够访问第二跳机器,如文件共享。

具体来说,文章中有关registry项/组策略设置AllowFreshCredentialsWhenNTLM的部分只解决了我遇到的问题。 从文章:

如果Kerberos身份validation和证书指纹都不可用,则用户可以启用NTLM身份validation。 如果使用NTLM身份validation,则必须启用允许使用仅限NTLM的服务器身份validation(AllowFreshCredentialsWhenNTLMOnly)策略的新鲜凭证,并且必须将具有WSMAN前缀的SPN添加到策略中。 此设置不如Kerberos身份validation和证书指纹安全,因为凭据发送到未经身份validation的服务器。

有关AllowFreshCredentialsWhenNTLMOnly策略的详细信息,请参阅组策略编辑器和KB 951608提供的策略说明。AllowFreshCredentialsWhenNTLMOnly策略位于以下path:计算机configuration\pipe理模板\系统\凭证委派。