Start ELEVATED script from within script

Hallo,

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!

Ulrich


Solution 1:

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

Solution 2:

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

This starts an elevation for the whole script.