Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запуск под админом


Unlocker ©   (2009-04-13 23:58:00) 

Здравствуйте!
Такая ситуация. Своей программой хочу запускать другие программы с возможностью указания от чьего имени. Этакий аналог "Запуск от имени". логин-пароль есть. Подозреваю, что нужно запускать через ShellExecute, но с определенными параметрами.
Вообщем прошу помощи.


Maxxoft   (2009-04-15 07:20:00) [1]


> Сам понял, что сказал ?

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

 runas \savecred user:sysad "приложение..."

Соответственно программа запускается с правами системного админа, тем не менее при вызове функций из библиотечки (написана не мной) вылетает ошибка нарушения прав доступа "file access error"


Unlocker   (2009-04-14 18:38:00) [2]

Большое спасибо! Теперь у меня Unlocker работает под ограниченой учеткой ;)


Игорь Шевченко   (2009-04-14 10:48:00) [3]


> А если нужно вызвать функцию из dll с админскими правами?


Сам понял, что сказал ?


Игорь   (2009-04-14 07:17:00) [4]

http://www.delphisources.ru/pages/sources/system/2008-year/run-ass.html
http://www.delphisources.ru/pages/sources/raznoe/2008-year/run-as.html


Maxxoft   (2009-04-14 06:40:00) [5]

А если нужно вызвать функцию из dll с админскими правами?


Игорь Шевченко   (2009-04-14 01:40:00) [6]

CreateProcessWithLogonW появился в Windows 2000, runas работает именно с его помощью, а если у кого кривые руки - это еще не повод для публичных об этом заявлений.


Игорь Шевченко   (2009-04-14 01:37:00) [7]


> тоесть под 2000 не будет работать даже с CreateProcessAsUser


Будет


Городской Шаман   (2009-04-14 00:12:00) [8]


> Unlocker   (13.04.09 23:58)  


Уточню, ответ предыдущего отвечающего. Нормально это процесс работает только начиная с WinXP (тоесть под 2000 не будет работать даже с CreateProcessAsUser). Так как Win2000 для смены токена при запуске процесса требует привилегий SE_ASSIGNPRIMARYTOKEN_NAME and SE_INCREASE_QUOTA_NAME, которых по умолчанию нет даже у администратора. Только через сервис.

Ну а через ShellExecute через программу runas с ключами. Самый переносимый способ.


Игорь Шевченко   (2009-04-14 00:05:00) [9]

CreateProcessWithLogon


Наверх

Титульная страница Поиск, карта сайта Написать письмо