Ostatnio aktywny 7 months ago

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's Avatar wthiel zrewidował ten Gist 7 months ago. Przejdź do rewizji

1 file changed, 17 insertions

ElevatedPowershellExample.ps1(stworzono plik)

@@ -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'
Nowsze Starsze