使用 Powershell 的 Release Management 2013 vNext 版本需要哪些权限

What permissions are required for a Release Management 2013 vNext release using Powershell

我已使用服务帐户将部署配置到 Web 服务器。在目标计算机上启用了远程 powershell,并且该帐户已添加到远程管理用户组。

我发起发布,出现如下错误。如果我将服务帐户添加到 Web 服务器上的本地管理员组,则它会成功。我可以通过在服务帐户下远程访问 Web 服务器并尝试调用 get-service.

来重现相同的错误
System.AggregateException: 
Cannot open Service Control Manager on computer '.'. This operation might require other privileges.
 CategoryInfo :NotSpecified: (:) [Get-Service], InvalidOperationException
 FullyQualifiedErrorId :System.InvalidOperationException,Microsoft.PowerShell.Commands.GetServiceCommand
 ---> System.Management.Automation.RemoteException: Cannot open Service Control Manager on computer '.'. This operation might require other privileges.
   --- End of inner exception stack trace ---
   at Microsoft.VisualStudio.Services.DevTestLabs.Deployment.Deployment.PowershellExecutor.Invoke(String errorContextMessage, Boolean writeResultToLog, Boolean isCancellable)
   at Microsoft.VisualStudio.Services.DevTestLabs.Deployment.Deployment.RemoteDeploymentHelper.AcquireMutexOwnerShip(String serviceName, String destinationPath, Int64 deploymentHeartbeatTimeoutSec)
   at Microsoft.VisualStudio.Services.DevTestLabs.Deployment.Deployment.DeploymentClient.<RunAsync>d__14.MoveNext()

有谁知道服务帐户需要的最低权限才能使其正常工作?我想避免将帐户添加到管理员组。

一些背景信息: 它不是仅使用 PSRemoting 针对目标服务器执行 Powershell 部署脚本,而是使用 PSRemoting 在目标服务器上安装 Windows 服务 (VisualStudioRemoteDeployer.exe)。然后,此服务会在本地运行您的部署脚本,MSRM 服务器会定期轮询此 Windows 服务(请参阅 here)以查看它是否已完成部署。

我怀疑这种奇怪的设置与避免 double-hop issue 有关 - 因此它允许您的脚本从目标服务器到另一台服务器进行第二跳,例如用于网络服务调用。

所以您需要足够的权限才能安装 Windows 服务,according to this post,这意味着管理权限。