Форум: "Прочее";
Текущий архив: 2013.06.16;
Скачать: [xml.tar.bz2];
ВнизЗалогинить пользователя Найти похожие ветки
← →
antonn © (2013-02-09 22:14) [0]Может кто подскажет как провернуть такое: запущен компьютер, стоит на логоне. Мне из сервиса с этого же компьютера нужно залогинить пользователя (имя и пароль и пользователя и админа известны) так, чтобы на мониторе был его рабочий стол (не терминальную сессию, в общем). Есть штатные средства или какие нибудь api для реализации на дельфи, под Win Server 2008/2012 (TS есть, думаю и на Вин7 тоже должно работать)? Автологон ставить нельзя (это может быть сервер, где ребут раз в пол года).
Для чего: стоит серверный шкаф, в нем монитор подключенный к одному из серверов, на мониторе 99,99% времени отображается экран логона, хочу отображать там статус серверов и сети для этого шкафа, для этого надо залогинить пользователя (автоматом, причем переодически проверять на "разлогирование" и "перезапускать" его (если под админом работали с консоли и потом вышли)). Сама программа есть
← →
antonn © (2013-02-09 22:15) [1]
> Сама программа есть
программа мониторинга т.е.
← →
Inovet © (2013-02-09 22:25) [2]Так пользователь может быть залогинен, но при этом будет отображаться экран логона. Ответ не знаю.
← →
Rouse_ © (2013-02-09 22:26) [3]Штатных, на сколько я знаю, средств нет. Но раз ты в сервисе, ты можешь получить доступ к рабочему столу и в поле логина вбить требуемые тебе данные. Тимвьювер например отображает данный экран. Кстати спроси у Eraser-а он вроде как аналог тимвьюва писал, вероятно он более подробно сможет рассказать.
← →
Rouse_ © (2013-02-09 22:29) [4]
> Inovet © (09.02.13 22:25) [2]
> Так пользователь может быть залогинен, но при этом будет
> отображаться экран логона.
это где такое?
FastUserSwitch не предполагает одновременной работы двух пользователей на машине.
Если ты про LogonUser из своего ПО, то это несколько иное.
← →
Inovet © (2013-02-09 22:33) [5]> [4] Rouse_ © (09.02.13 22:29)
> FastUserSwitch не предполагает одновременной работы двух
> пользователей на машине.
Про это. Юзер залогинен, что-то там у него запущено, но работает в данный момент другой или экран приветствия отобрадеатся. Или я не понимаю чего?
← →
Inovet © (2013-02-09 22:47) [6]> [5] Inovet © (09.02.13 22:33)
Вроде понял, что неправильно понимаю термин "логиниться".
← →
antonn © (2013-02-09 22:54) [7]
> Inovet © (09.02.13 22:25) [2]
>
> Так пользователь может быть залогинен, но при этом будет
> отображаться экран логона. Ответ не знаю.
да, нужно будет проверять выполнен ли вход (в интерактивном режиме? не знаю как он называется)
← →
Игорь Шевченко © (2013-02-09 23:03) [8]консольный сеанс это называется
← →
Игорь Шевченко © (2013-02-09 23:05) [9]а что, vnc какой-нибудь не устраивает ?
← →
Dimka Maslov © (2013-02-09 23:09) [10]А если попробовать от имени пользователя запустить Explorer?
← →
DVM © (2013-02-09 23:27) [11]
> Для чего: стоит серверный шкаф, в нем монитор подключенный
> к одному из серверов, на мониторе 99,99% времени отображается
> экран логона, хочу отображать там статус серверов и сети
> для этого шкафа,
Я думаю из сервиса можно и так получить доступ к десктопу WinLogon и нарисовать там все что угодно. Помнится антивирус касперского там иконку рисовал
← →
Игорь Шевченко © (2013-02-09 23:32) [12]
> Я думаю из сервиса можно и так получить доступ к десктопу
> WinLogon и нарисовать там все что угодно
Если у него изменился дескриптор защиты, то наверное можно.
"Защита объекта "рабочий стол" WinLogon организована так, чтобы к нему мог обращаться только процесс WinLogon" (Руссинович, Соломон, Внутреннее устройство Windows), а городить ради таки дел gina.dll - не думаю, что целесообразно
← →
Eraser © (2013-02-09 23:37) [13]
> antonn © (09.02.13 22:14)
на сколько я знаю, так сделать нельзя.
> Для чего: стоит серверный шкаф, в нем монитор подключенный
> к одному из серверов, на мониторе 99,99% времени отображается
> экран логона, хочу отображать там статус серверов и сети
> для этого шкафа, для этого надо залогинить пользователя
> (автоматом, причем переодически проверять на "разлогирование"
> и "перезапускать" его (если под админом работали с консоли
> и потом вышли)). Сама программа есть
можно запускать программу прямо на логон экране, без проблем. от имени системы правда, если других юзеров нет.
← →
Eraser © (2013-02-09 23:39) [14]
> DVM © (09.02.13 23:27) [11]
именно, там можно запустить полноценное приложение, для этого ничего особенного не нужно.
← →
DVM © (2013-02-09 23:39) [15]
> можно запускать программу прямо на логон экране, без проблем.
>
Точно, CreateProcessAsUser + lpDispalay=Winsta0\Winlogon и получится то, что требуется.
← →
DVM © (2013-02-09 23:46) [16]
> Eraser ©
кстати, вот нашел похожую ветку с твоим вопросом 6-и летней давности
http://www.delphimaster.net/view/4-1144313939
← →
Eraser © (2013-02-10 00:02) [17]
> DVM © (09.02.13 23:46) [16]
да уж, были времена. помню еще долго бился над тем, чтобы запустить процесс в другой терм. сессии, это сейчас пол инета примеров )
← →
antonn © (2013-02-10 00:44) [18]Дело в том, что консолью время от времени пользуются (при обслуживании). Я предполагал сделать так, что если консольный вход не используется некоторое время то логинится мой пользователь. Если админу нужно - он разлогинивает его, логинится сам, работает, потом разлогинивается. Через некоторое время я опять логиню юзера если никто больше не выполнил вход. Этакий скринсейвер :) А запускать прям на логоне... программа полноэкранная, не хочу закрывать окошко msgina
← →
Дмитрий С © (2013-02-10 03:26) [19]
> программа полноэкранная, не хочу закрывать окошко msgina
Напиши заставку. По моему это будет то что тебе нужно.
Которая создает десктоп, открывает там твою программу. А при событиях от клавиатуры или мыши - открывает снова десктоп WinLogon-а.
← →
antonn © (2013-02-10 13:21) [20]заставка же должна лежать в системной директории и запускается с правами системы?
← →
brother © (2013-02-10 13:23) [21]вообще запуск заставки с системными разрешениями - дурка безопасности...
← →
antonn © (2013-02-10 13:25) [22]
> вообще запуск заставки с системными разрешениями - дурка
> безопасности...
когда-то этим даже пользовались, подсовывая вместо файла заставки свою программу :)
← →
brother © (2013-02-10 13:26) [23]> дурка безопасности...
* дырка )
← →
Дмитрий С © (2013-02-10 14:02) [24]а от чьего имени выполняется заставка, когда комп не залогинен?
Сделай такую заставку которая будет строго следить за вводом. Как только нажата кнопка или мышка - сразу прерывай запущенную программу.
← →
antonn © (2013-02-10 14:21) [25]да все заставки следят за вводом, вопрос о том позволят ли мне сунуть ее в систему :)
← →
Дмитрий С © (2013-02-10 14:36) [26]а от чьего имени выполняется заставка, когда комп не залогинен?
Сделай такую заставку которая будет строго следить за вводом. Как только нажата кнопка или мышка - сразу прерывай запущенную программу.
← →
Дмитрий С © (2013-02-10 14:39) [27]
> да все заставки следят за вводом, вопрос о том позволят
> ли мне сунуть ее в систему :)
А кто не позволит то?
← →
Дмитрий С © (2013-02-10 14:45) [28]
rundll32.exe desk.cpl,InstallScreenSaver "<Путь к твоей заставке>"
← →
antonn © (2013-02-10 15:14) [29]
> А кто не позволит то?
сервер не мой, я лишь разместил бэкплейн =)
тут вопрос еще со службой непонятен...
← →
Дмитрий С © (2013-02-10 15:25) [30]
> тут вопрос еще со службой непонятен...
>
>
А службу значит дадут поставить? :)
← →
antonn © (2013-02-10 15:27) [31]ее, скорее всего, да
← →
Anatoly Podgoretsky © (2013-02-10 15:36) [32]
> сервер не мой, я лишь разместил бэкплейн =)
Мотороллер не мой, я только объяву разместил
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2013.06.16;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.003 c