TFS 2017-从TFS服务器而不是代理运行powershell脚本

TFS 2017-从TFS服务器而不是代理运行powershell脚本,powershell,docker,tfs,tfsbuild,devops,Powershell,Docker,Tfs,Tfsbuild,Devops,是否有办法在发布期间从实际TFS服务器运行powershell脚本?我正在docker容器中运行生成代理,但它未加入域,因此wmi不允许docker容器中的windows代理在复制新工件文件之前停止Web服务器上的应用程序池,即使我在连接之前指定了凭据。如果我可以从TFS 2017服务器运行powershell脚本,这个问题就会得到解决 我得到的错误是: 019-08-30T13:49:44.6542238Z##[错误][…com]连接到远程服务器..com失败,错误消息如下 :WinRM客户端

是否有办法在发布期间从实际TFS服务器运行powershell脚本?我正在docker容器中运行生成代理,但它未加入域,因此wmi不允许docker容器中的windows代理在复制新工件文件之前停止Web服务器上的应用程序池,即使我在连接之前指定了凭据。如果我可以从TFS 2017服务器运行powershell脚本,这个问题就会得到解决

我得到的错误是:

019-08-30T13:49:44.6542238Z##[错误][…com]连接到远程服务器..com失败,错误消息如下
:WinRM客户端无法处理该请求。如果身份验证方案不同于Kerberos,或者
客户端计算机未加入域,则必须使用HTTPS传输或添加目标计算机
到TrustedHosts配置设置。使用winrm.cmd配置TrustedHosts。请注意,中的计算机
TrustedHosts列表可能未通过身份验证。您可以通过运行以下命令来获取更多信息
命令:winrm help config。有关更多信息,请参阅关于远程故障排除帮助主题。
+CategoryInfo:OpenError:(…com:String)[],PSRemotingTransportException

+FullyQualifiedErrorId:ServerNotTrusted,PSSessionStateBreaked

我一直忽略docker windows servercore tfs代理容器,认为它一定与我试图将文件复制到的服务器有关,但事实并非如此。出于某种原因,我所要做的就是将以下内容添加到我的tfs代理中:

winrm set winrm/config/client@{TrustedHosts=“machineA,machineB”}


现在一切都好了。我从wsam中删除了所有受信任的主机,它仍然可以工作。我猜是因为我在powershell脚本中使用了凭据…不确定,但我很高兴。

我一直忽略docker windows servercore tfs代理容器,认为它一定与我尝试将文件复制到的服务器有关,但事实并非如此。出于某种原因,我所要做的就是将以下内容添加到我的tfs代理中:

winrm set winrm/config/client@{TrustedHosts=“machineA,machineB”}


现在一切都好了。我从wsam中删除了所有受信任的主机,它仍然可以工作。我猜是因为我在powershell脚本中使用了凭据…不确定,但我很高兴。

我尝试将docker容器的内部ip添加到WSMan受信任主机列表中,但仍然不起作用。您所问问题的答案是“否”。你实际面临的问题的解决方案更为复杂。您需要将运行容器的计算机的IP地址添加到受信任的主机上,不是容器的内部IP——容器的内部IP在docker环境之外是不相关的。我试图将docker容器的内部IP添加到WSMan trusted host列表中,但仍然不起作用。您所问问题的答案是“否”。你实际面临的问题的解决方案更为复杂。您需要将容器运行的计算机的IP地址添加到受信任的主机,而不是容器的内部IP——容器的内部IP在docker环境之外是不相关的。感谢您的友好共享,您可以将您的回复标记为回答,这也将帮助社区中的其他人。感谢您的友好分享,您可以将您的回复标记为答案,这也将帮助社区中的其他人。