#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, хотя