为什么我需要显式指定远程PowerShell执行的凭据

时间:2017-09-05 06:39:19

标签: powershell azure-devops powershell-remoting azure-pipelines-build-task azure-pipelines-release-pipeline

我在目标计算机上创建了一个VSTS任务 PowerShell ,它在远程计算机上执行电源shell。此任务是作为发布定义的一部分创建的。

从逻辑上讲,当我触发新版本时,构建代理会在远程计算机上执行此电源shell。假设目标机器是M1&我的构建代理程序在用户帐户u1下运行。我在M1上做了u1作为管理员。

如果运行服务代理的帐户是目标计算机上的管理员,那么为什么我需要再次明确提及凭据。如果我没有指定凭据,那么它会抛出错误。

从逻辑上讲,当构建代理执行任何任务时,它将具有运行构建代理服务的相同标识。如果该应用程序是目标计算机上的管理员,那么为什么我需要显式传递凭据。它应该在内部通过身份。

Atul Sureka

阿图尔

1 个答案:

答案 0 :(得分:1)

因为它没有使用Resource UserName的当前用户(构建代理运行帐户)(使用管理员用户名),并且在部署计算机之前失败。

换句话说,如果为资源用户名(管理员登录名)指定任何用户,即使用户不存在,也会传递检查资源用户名操作(如果不指定管理员用户名,将会失败)目标机器。 (您可以将system.debug设置为true,然后排队构建并比较日志)

我在这里提交了一个用户语音:VSTS build PowerShell on target machine default user,您可以投票。