I'm playing around with Powershell (relative NewBie) and I'm looking for the easiest way to call a Powershell script with elevated rights from within another script.

I know of the runas verb for start-process which allows me to start a new script with a different account. My problem is, however, that under Vista (UAC active) every admin account has two access tokens, a normal privilege one and an elevated one.

If I use the runas method, the second scripts gets started under the right account but with the non-elevated access token. Is there an easy way to control this?

Thanks a lot for your help!



Are you running PowerShell V2? If so check out the Microsoft PowerShellPack module. It has 'Start-ProcessAsAdministrator' which will run a process elevated.


You could try this: http://gallery.technet.microsoft.com/scriptcenter/63fd1c0d-da57-4fb4-9645-ea52fc4f1dfb/

This starts an elevation for the whole script.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy