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

时间:2015-11-27 17:13:28

标签: powershell-remoting ms-release-management

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

我发起了一次发布,发生了以下错误。如果我将服务帐户添加到Web服务器上的本地Administrators组,则会成功。我可以通过远程登录到服务帐户下的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()

是否有人知道服务帐户所需的最低权限?我想避免将该帐户添加到管理员组。

1 个答案:

答案 0 :(得分:2)

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

我怀疑这个奇怪的设置与避免double-hop issue有关 - 所以它允许你的脚本从目标服务器到另一个服务器进行第二跳,例如用于网络服务电话。

因此,您需要足够的权限来安装该Windows服务,according to this post,这意味着管理权限。