Возможно ли повысить права доступа powershell script, чтобы пользователь без прав администратора мог запускать script? Наши администраторы сети пытаются найти более эффективные с точки зрения времени способы выполнения определенных задач, которые прямо сейчас должны использовать удаленный рабочий стол для... автоматизации их с помощью PS-скриптов, но пользователи не имеют прав администратора.
Поднять сценарии Powershell
Ответ 1
Задача больше похожа на setuid, чем на sudo... и, к счастью, возможно setuid : вы можете просто создать запланированную задачу (без установленного расписания) и настроить ее на запуск повышенная. Затем дайте вашим пользователям права выполнить эту задачу. Я изложил процесс
Ответ 2
если вы используете V2, вы можете использовать следующее, которое находится на блоге Team PowerShell
Start-Process "$psHome\powershell.exe" -Verb Runas -ArgumentList '-command "Get-Process"'
Это приведет к запуску "Get-Process" в качестве администратора.
Если у вас нет V2, вы можете создать объект StartInfo и установить Verb для Runas, как это.
function Start-Proc {
param ([string]$exe = $(Throw "An executable must be specified"),[string]$arguments)
# Build Startinfo and set options according to parameters
$startinfo = new-object System.Diagnostics.ProcessStartInfo
$startinfo.FileName = $exe
$startinfo.Arguments = $arguments
$startinfo.verb = "RunAs"
$process = [System.Diagnostics.Process]::Start($startinfo)
}
I имеет сообщение в блоге, в котором говорится об использовании объекта System.Diagnostics.ProcessStartInfo.
Ответ 3
Расширения сообщества Powershell включают в себя командлет для этого, псевдоним "su". http://www.codeplex.com/Pscx
Ответ 4
Похоже, вы ищете эквивалент sudo в окнах. Судо не присуще Windows, как и для большинства сред Unix. Но есть несколько доступных инструментов, которые являются близкими эквивалентами.
Будьте осторожны при использовании этих типов инструментов. Незакрепленный script + sudo - это риск для безопасности.
Ответ 5
сначала choco install pscx
через http://chocolatey.org/ (возможно, вам придется перезапустить среду оболочки)
затем включите psxc
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser #allows scripts to run from the interwebs, such as pcsx
Затем используйте Invoke-Elevated
Invoke-Elevated {Add-PathVariable $args[0] -Target Machine} -ArgumentList $MY_NEW_DIR