【问题标题】:What are PowerShell Task credentials used for?PowerShell 任务凭据有什么用途?
【发布时间】:2016-04-13 21:03:36
【问题描述】:

TFS 2015 Update 2 是我第一次接触到曾经是独立的发布管理工具。

我正在尝试对主机进行部署,其中一部分是应用 DSC。执行此操作的方法似乎是使用 PowerShell 任务。 Machines 字段很明显,但登录凭据不明确。这些凭据是否仅用于授权 RM 针对目标运行脚本,并且我需要根据需要嵌入其他凭据?或者如果用户具有正确的权限,脚本是否以该用户的身份运行,并且脚本应该能够执行诸如进入放置文件夹之类的操作?

【问题讨论】:

    标签: tfs tfs-2015 ms-release-management


    【解决方案1】:

    该任务似乎使用 WinRM 在目标计算机上运行脚本。因此脚本将在给定用户下的目标机器上运行。

    引用Task's GitHub Page中的文字

    机器: 指定机器 FQDN/IP 地址的逗号分隔列表以及端口(可选)。例如 dbserver.fabrikam.com、dbserver_int.fabrikam.com:5986,192.168.34:5986。未指定的端口将默认为基于指定协议的 WinRM 默认值。即,(对于 WinRM 2.0):默认 HTTP 端口是 5985,默认 HTTPS 端口是 5986。Machines 字段还接受在“测试”集线器的“机器”选项卡下定义的“机器组”。

    管理员登录:目标主机的域/本地管理员。格式:\。与机器列表一起使用时是必需的,对于测试机器组是可选的(指定时将覆盖测试机器组的值)。

    密码: 管理员登录密码。它可以接受在 Build/Release 定义中定义为“$(passwordVariable)”的变量。您可以将变量类型标记为“秘密”以保护它。与机器列表一起使用时是必需的,对于测试机器组是可选的(指定时将覆盖测试机器组的值)。

    供参考:VSTS Release Management Docs

    【讨论】:

    • 好吧,现在我很困惑。在之前的 RM 版本中,使用 DSC 意味着不需要代理,但这似乎表明当前版本需要代理。正确的看待方式是什么?
    • 是的,你是对的。当前版本的 RM 需要 VSTS 代理,然后使用 WinRM 连接到目标计算机。如果 RM 服务器无法直接访问目标机器,这将特别有用。
    • 所以现在首先 RM 告诉代理运行 powershell 任务作为发布的一部分。然后,在代理上运行的任务将使用 WinRM 连接到目标机器,这很神奇。
    • 那么,我们仍然不需要目标机器上的代理(在本例中是 Web 服务器)?
    • 你是对的,你不需要网络服务器上的代理。如果您使用的是 VSTS,则可以托管该代理,或者它可以位于您的一台机器上。唯一的要求是代理应该能够访问网络服务器。
    猜你喜欢
    • 2020-03-17
    • 1970-01-01
    • 2019-05-22
    • 1970-01-01
    • 1970-01-01
    • 2015-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多