Powershell. Повышение привилегий скрипта

Если  нужно что бы скрипт выполнялся с повышенными привилегиями, но запускать вы его планируете вручную, а не через планировщик с его функцией повышения привилегий, можно разместить в начале скрипта такой код:

### Elevate Credentials ###
param([switch]$Elevated)
function Check-Admin {
$currentUser = New-Object Security.Principal.WindowsPrincipal $([Security.Principal.WindowsIdentity]::GetCurrent())
$currentUser.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator) }
if ((Check-Admin) -eq $false)  { 
    if ($elevated){ # Could not elevate, quit
} else { 
    Start-Process powershell.exe -Verb RunAs -ArgumentList ('-noprofile -noexit -file "{0}" -elevated' -f ( $myinvocation.MyCommand.Definition ))
    } exit
}

Код не мой, уже не помню где нашел, но под рукой быть должен

2 мысли о “Powershell. Повышение привилегий скрипта”

Добавить комментарий

Ваш адрес email не будет опубликован.