Что нового

Запуск программы с правами администратора под ограниченной учетной записью

ridigg

Чайник
Сообщения
4
Репутация
0
Нужно запустить программу (.exe) с правами администратора(изображение щитка) под пользователем с ограниченными правами. Пробовал использовать RunAs и Run, но ничего не происходит, даже не выводит модального окна с запросом пароля администратора. При этом обычные программы для которых не нужны права администратора запускаются. Как можно решить этот вопрос без изменения параметров контроля учетных записей?

Примечание: Искал поиском на форуме, но ответа не нашел. Возможно плохо искал.

Найдено временное решение: Включил встроенную учетную запись Администратора и запускаю приложение используя RunAs через нее.

Оставлю тему на неделю (до 07.12.15). Если ничего получше не найдется - закрою.
 
Автор
R

ridigg

Чайник
Сообщения
4
Репутация
0
Sln сказал(а):
Не подойдет, так как нужно запускать под учетной записью с ограниченными правами. Как раз пытаюсь решить вопрос обхода запроса пароля путем автоматического запуска под учетной с правами администратора.
 

Sln

Чайник
Сообщения
44
Репутация
4
Код:
$prog_with_adm_rights = 'regedit.exe';

Run('cmd /C "set __COMPAT_LAYER=RUNASINVOKER && start "" "' & $prog_with_adm_rights & '""')
 
Автор
R

ridigg

Чайник
Сообщения
4
Репутация
0
Нашел решение.

Включил встроенную учетную запись Администратора и запускаю приложение используя RunAs через нее.

Примечание: Решение делается через костыль, но другого пока нету. Проверял на ПК не входящих в домен (возможно и в домене сработает с правками). Жду может кто-то предложит что-то получше.

Sln сказал(а):
Код:
$prog_with_adm_rights = 'regedit.exe';

Run('cmd /C "set __COMPAT_LAYER=RUNASINVOKER && start "" "' & $prog_with_adm_rights & '""')
Пробовал данный вариант. Не проходит (выдает ошибку). Возможно программа ссылается на что-то что требует повышенных прав.
 

op_joke

Чайник
Сообщения
20
Репутация
0
помню нужно было какое то обновление накатить, у меня в домене вот такое работало:

Код:
; Параметры учетной записи
Local $sUserName = "UserName"
Local $sPassword = "Password"
Local $sDomain = "Domain"

; Команда для CMD
Local $sCMD = @ComSpec & " /c " & 'wusa.exe \\ip\foldername\KB0000000-x86.msu' & ' /quiet /norestart'

; Запуск CMD от имени Администратора, вставка команды
RunAs($sUserName, $sDomain, $sPassword, 0, $sCMD, "", @SW_HIDE)

т.е. смысл запустить CMD от админа, а из нее уже нужную программу.
 
Автор
R

ridigg

Чайник
Сообщения
4
Репутация
0
op_joke сказал(а):
помню нужно было какое то обновление накатить, у меня в домене вот такое работало:

Код:
; Параметры учетной записи
Local $sUserName = "UserName"
Local $sPassword = "Password"
Local $sDomain = "Domain"

; Команда для CMD
Local $sCMD = @ComSpec & " /c " & 'wusa.exe \\ip\foldername\KB0000000-x86.msu' & ' /quiet /norestart'

; Запуск CMD от имени Администратора, вставка команды
RunAs($sUserName, $sDomain, $sPassword, 0, $sCMD, "", @SW_HIDE)

т.е. смысл запустить CMD от админа, а из нее уже нужную программу.
Может в домене сработает, не проверял. Только можно упростить запуская сразу саму программу под админом. А на ПК вне домена пришлось сначала активировать встроенную учетку Администратора.
 

op_joke

Чайник
Сообщения
20
Репутация
0
ridigg сказал(а):
Только можно упростить запуская сразу саму программу под админом.
Обновление нужно было поставить тихо, и без окон, поэтому саму программу решено было не запускать, а все делать через терминал
 

mef-t

Осваивающий
Сообщения
303
Репутация
30
У меня была такая же задача и такая же проблема. Не решил.
Но если прибегать к костылям...
А что если:
1. в программе сделать возможность запуска с параметрами
2. При запуске с параметрами указать #RequireAdmin
3. При запуске без параметра запускать через RunAs консоль, через которую уже с правами админа запускать эту же программу с параметрами.
 
Верх