wthiel

wthiel / Elevated Powershell Example

Last active 4 months ago

Like 0

This script ensures that it runs with administrator privileges before executing the actual code. If no admin rights are available, it restarts itself with elevated privileges.

wthiel revised this gist 1 year ago · 2afdd15

1 file changed, 17 insertions

ElevatedPowershellExample.ps1 (file created)
@@ -0,0 +1,17 @@
1 + param([switch]$Elevated)
2 +
3 + function Test-Admin {
4 + $currentUser = New-Object Security.Principal.WindowsPrincipal $([Security.Principal.WindowsIdentity]::GetCurrent())
5 + $currentUser.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
6 + }
7 +
8 + if ((Test-Admin) -eq $false) {
9 + if ($elevated) {
10 + # tried to elevate, did not work, aborting
11 + } else {
12 + Start-Process powershell.exe -Verb RunAs -ArgumentList ('-noprofile -noexit -file "{0}" -elevated' -f ($myinvocation.MyCommand.Definition))
13 + }
14 + exit
15 + }
16 +
17 + 'test'