Какие разрешения требуются для выпуска Release Management 2013 vNext с использованием Powershell
Я настроил развертывание на веб-сервере, используя учетную запись службы. На целевом компьютере удаленный PowerShell включен, и учетная запись была добавлена в группу "Пользователи удаленного управления".
Я инициирую выпуск, и возникает следующая ошибка. Если я добавлю учетную запись службы в локальную группу администраторов на веб-сервере, то это будет успешно выполнено. Я могу воспроизвести ту же ошибку, переместившись на веб-сервер под учетной записью службы и попытавшись вызвать 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 ответ
Немного справочной информации: вместо того, чтобы просто выполнить скрипт развертывания Powershell на целевом сервере с помощью PSRemoting, он использует PSRemoting для установки службы Windows (VisualStudioRemoteDeployer.exe
) на целевом сервере. Затем эта служба запускает сценарий развертывания локально, и сервер MSRM регулярно опрашивает эту службу Windows (см. Здесь), чтобы определить, завершено ли ее развертывание.
Я подозреваю, что эта странная настройка как-то связана с тем, чтобы избежать проблемы двойного перехода - так что он позволяет вашему сценарию выполнить второй переход с целевого сервера на другой сервер, например, для вызова веб-службы.
Таким образом, вам потребуется достаточно разрешений для установки этой службы Windows, и в соответствии с этим постом это означает административные разрешения.