powershell запускает процесс от имени администратора, я что-то пропустил

#windows #powershell

#Windows #powershell

Вопрос:

Я пытаюсь создать сценарий, в котором пользователь домена сможет запускать службу IIS в Windows от имени локального администратора, используя сохраненные учетные данные.

 $adminerpath = 'c:programdataadminer'

Function StoreCreds(){
    $credential = Get-Credential
    $credential | Export-CliXml -Path  $adminerpathdata.dat
}

if (Test-Path $adminerpath){
    $credential = Import-CliXml -Path $adminerpathdata.dat
    Start-Process C:windowsSystem32inetsrvInetMgr.exe -Credential ($credentials)
}

else {
    New-Item -Path $adminerpath -ItemType "directory"
    attrib  h c:programdataadminer | Out-Null
    StoreCreds
    }
 

очень просто, следует проверить, сохранены ли учетные данные, а затем запустить процесс с -credential .
он работает с чем-либо еще (например note.exe или pwoershell.exe ), но когда я пытаюсь запустить это с InetMgr.exe я получаю:
запуск-процесс: эта команда не может быть запущена из-за ошибки: запрошенная операция требует повышения прав.
любая помощь была бы очень оценена

Комментарии:

1. Мне удалось это сделать: $ cmds = {«C:windowsSystem32inetsrvInetMgr.exe «; «выход»;} Запуск-процесс powershell -Учетные данные ($credential) -Список аргументов $ cmds таким образом, это работает, правильно ли это?

2. Вы передаете учетные данные учетной записи администратора с параметром -credentials , однако это не приведет к запуску сеанса с повышенными правами. Это просто запустит сеанс от имени этой учетной записи администратора. Вы пробовали использовать параметр -Verb RunAs в конце? это указывает Start-Process на повышение уровня сеанса. Я не пробовал это с параметром -credential, хотя