tsw_mik
tsw_mik

Reputation: 81

Visual Studio Team Services - release definition - run task (PowerShell) as admin

In VSTS I have a release definition, which needs to run a PowerShell script as administrator.

The release agent is configured to run as an account, which is a local administrator and has the required permissions, but UAC is restricting those permissions, unless PowerShell is executed "as administrator".

Can I run PS as admin from VSTS without disabling UAC completely on the server?

Upvotes: 3

Views: 1599

Answers (4)

michael g
michael g

Reputation: 641

We got around not being able to use elevated Powershell commands by creating a light .Netcore Worker service with http request capability running in an elevated service privilege state. You can send a Invoke-RestMethod command from a regular Powershell YML task and it will trigger your custom logic on the other end of the ASP controller. We use it to remove Appx packages before re-installing for our Unit tests. The repo is located at, AzureAdmin

Upvotes: -1

Colorado Techie
Colorado Techie

Reputation: 1332

I ran into this same problem. To fix it I did this (YMMV):

  1. I uninstalled the Azure DevOps agent
  2. Verified that the agent user was an admin
  3. Reinstalled the Azure DevOps agent

When I originally installed the agent, the user the agent was running as was not an admin (I added that user to the Builtin\Administrators group after I installed the agent). I'm not sure if that caused a problem, but uninstalling/reinstalling solved it for me.

Upvotes: 1

Leandro Lisa
Leandro Lisa

Reputation: 1

I do not think that the Inline or Path options are the issue. Maybe installing an Agent in the Deployment Environment Machine, assigning in the installation process the credentials of a user you are sure has administrative privileges on the SharePoint farm could help you. Then in VSTS verify that the agent is Online and working in the Deployment Group Section.

Upvotes: 0

Vijay Machiraju
Vijay Machiraju

Reputation: 176

I don't think there is a way to do that using PS task. Can you try "Run PS on target servers" and provide admin creds. You will need to provide the machine name of the agent (so this is not ideal) as an input to the task. That might not require UAC. We will file this as a feature request.

Upvotes: 1

Related Questions