TFS 集成使用提升的权限生成 Powershell



我正在设置一个集成测试版本,我只是试图启动一个Windows服务。

我已经使用InvokeProcess命令来运行powershell脚本,它只执行以下操作

启动服务服务名称

当我

运行生成过程时,脚本失败,但当我在 TFS 外部执行相同的脚本时,它可以工作。我在 TFS 日志中收到以下错误

启动服务:

由于以下错误,服务"服务名称(服务名称)"无法启动:无法打开服务名称计算机上的服务"."。

然后我尝试更改启动服务的方式,并在调用进程中将SC.exe与参数"启动服务名称"一起使用,并在TFS中收到"拒绝访问"错误,如下所示:-

SC 启动服务名称。[SC]启动服务: 打开服务失败 5:访问被拒绝。

我正在使用网络服务帐户来运行构建。

搜索了一段时间后,我得出的结论是,我必须使用提升的权限运行 InvokeProcess,但我不知道如何在 TFS 中执行此操作。

任何帮助都非常感谢。

我们将生成代理作为自定义服务帐户运行,并在我们部署到的服务器上授予该域帐户管理员访问权限。

我已经通过将网络服务帐户添加到管理员组来解决问题。我可能不会使用此解决方案,因为将管理权限分配给网络服务帐户似乎是错误的,但我不知道如何在不将此帐户添加到管理员组的情况下将服务启动/停止权限分配给网络服务。

简而言之,我同意必须使用自定义服务帐户以适当的权限运行构建的答案。

最新更新