最后活跃于 4 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 修订了这个 Gist 4 months ago. 转到此修订

1 file changed, 17 insertions

ElevatedPowershellExample.ps1(文件已创建)

@@ -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'
上一页 下一页