最後活躍 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 已修改 7 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'
上一頁 下一頁