![]() |
Запуск команды после полной прогрузки службы.
У меня уже мозг взрывается над следующей задачей:
Мне необходимо запускать программу с правами администратора в ограниченной учётной записи, причём из автозагрузки. Проблема в том, что служба «seclogon» не успевает прогрузиться и скрипт, в котором происходит запуск программы через RunAs не срабатывает. Может есть команда для Bat, Vbs, Autoit, которая может исполняться в ограниченной учётной записи, которая бы отслеживала подгрузку службы seclogon и только после этого продолжала работу? Рекомендация использовать паузу не оптимальна, хотелось бы запуск именно как только это становится возможным. И через планировщик тоже не вариант запускать т.к. он вырезан в той сборке Windows XP, которая используется. |
Цитата:
Цитата:
|
Вызов команды net start seclogon из под ограниченной учётной записи вываливается с ошибкой по причине нехватки прав, в учётной записи администратора команда отрабатывается и действительно ждёт запуска службы. Но мне необходима реализация именно из под ограниченной учётной записи.
А ожидание старта сервиса какой командой делается и будет ли оно работать в учётной записи с ограниченными правами? Я активно гуглил, но ничего такого так и не встретил. И я использую не чисто RunAs, а приложение cpau, но эта утилита и ей подобные программы всё равно не будут работать, пока системная служба seclogon не будет запущена. --- Дополнение--- Я тут в очередной раз поискал команду, которая бы ждала запуска службы, но такой команды вроде как нет. Но я подумал над скриптом, который бы мог работать в ограниченной учётной записи со следующим финтом: --- Отслеживать в памяти раз в секунду имя запускаемой программы (program.exe) ------- её нет? Тогда запускаем команду cpau -dec -lwp -file C:\start-program.job (это контейнер с зашифрованными логином и паролем, а также расположением запускаемого файла для runas) ------------- программа (program.exe) не появилась через 3 секунды? Тогда убиваем процесс cpau.exe и вновь переходим к отслеживанию. --- программа появилась в оперативной памяти? Завершаем работу скрипта. Пояснение про 3 секунды после старта cpau: после запуска в случае успешной подгрузки службы «seclogon» практически моментально стартует заданную программу с правами админа, а если в момент запуска служба всё ещё недоступна, то она будет висеть и к моменту прогрузки службы выдаст ошибку. Вот только моих любительских знаний не хватит для написания такого скрипта. Буду признателен за помощь . |
Попробуй в цикле команду
Код:
C:\Users\administrator>sc query seclogon возможно она не требует админских прав. |
DjBoBo, "Тупо" реализовал Ваш алгоритм в Дополнении в vbs
Код:
Prog1 = "program.exe" |
Время: 22:19. |
Время: 22:19.
© OSzone.net 2001-