【问题标题】:Team Foundation Server (TFS) PowerShell on Target Machine目标计算机上的 Team Foundation Server (TFS) PowerShell
【发布时间】:2017-06-26 07:05:20
【问题描述】:

我正在尝试自动化我的构建设置。它工作得很好。但我对“目标机器上的 PowerShell”步骤有疑问。

只要 TFS 服务器和其他服务器在同一个域中,该步骤就可以正常工作。现在我有一个不在域内的服务器。 “Windows 机器文件复制”步骤正在运行。但是“目标机器上的 PowerShell”步骤不起作用。 powershell 脚本位于远程计算机上。我只需要执行脚本。

在服务器上,我有一个具有管理员权限的本地用户。 我已经检查过了:

  • 防火墙不是问题
  • WinRM 已设置
  • TFS 服务器在受信任的主机列表中
  • 使用 IP 地址、机器组和机器名称配置“目标机器上的 PowerShell”

当我使用 HTTP 时,我收到以下错误

WinRM 无法处理该请求。使用 Kerberos 身份验证时出现错误代码 0x80090311 的以下错误:当前没有可用于处理登录请求的登录服务器。
可能的原因有:
- 指定的用户名或密码无效。
-Kerberos 在没有指定身份验证方法和用户名时使用。
-Kerberos 接受域用户名,但不接受本地用户名。
- 远程计算机名称和端口的服务主体名称 (SPN) 不存在。
-客户端和远程计算机在不同的域中,两个域之间没有信任。
检查上述问题后,请尝试以下操作:
- 检查事件查看器以获取与身份验证相关的事件。
-改变认证方式;将目标计算机添加到 WinRM TrustedHosts 配置设置或使用 HTTPS 传输。
请注意,TrustedHosts 列表中的计算机可能未经过身份验证。
- 有关 WinRM 配置的更多信息,请运行以下命令:winrm help config。有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。有关详细信息,请参阅 http://aka.ms/powershellontargetmachinesreadme

当我使用 HTTPS 时收到以下错误

客户端无法连接到请求中指定的目标。
验证目标上的服务是否正在运行并且正在接受请求。
查看目标上运行的 WS-Management 服务的日志和文档,最常见的是 IIS 或 WinRM。如果目标是 WinRM 服务,在目标上运行以下命令来分析和配置 WinRM 服务:“winrm quickconfig”。
更多信息,请参阅 about_Remote_Troubleshooting 帮助主题。
更多信息请参阅http://aka.ms/powershellontargetmachinesreadme

现在我迷路了,不知道该怎么办。有人知道接下来要检查什么吗?

提前谢谢你

【问题讨论】:

    标签: tfs powershell-remoting


    【解决方案1】:

    您似乎想让 TFS 在位于构建机器 AD 域之外的目标机器上运行 PS。这不是那么简单,即使你直接使用 tfs 任务,也会得到同样的错误。

    要实现这一点,您有两种选择。

    1. 在您的主域和所有子域之间设置一种方式信任,以便您的生产域凭据可用于 您的所有子域。
    2. 使用影子帐户以允许跨域身份验证。这些是跨机器具有相同用户名和密码的本地帐户 允许身份验证。这是针对非信任的官方 MSFT 解决方法 域身份验证。

    请看看这个类似的问题:TFS 'Powershell on Target Machines' task for machines in different AD domain


    更新

    从 OP 开始工作: 将客户端添加到服务器受信任主机列表,反之亦然(将客户端上的服务器添加到受信任主机列表)*

    【讨论】:

    • 终于成功了。
      我们所要做的就是将客户端添加到服务器受信任主机列表中,反之亦然(将客户端上的服务器添加到受信任主机列表中)跨度>
    猜你喜欢
    • 1970-01-01
    • 2021-12-05
    • 2018-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-10
    • 2018-09-11
    • 1970-01-01
    相关资源
    最近更新 更多