| BG Development · За реклама · За контакти |
Помощ Търсене Потребители Календар Правила |
| Здравей! ( Включване | Регистриране ) |
| Страници: (3) [1] 2 3 ( Първото ново мнение ) | ![]() ![]() ![]() |
| THE STORM |
Публикувано на: 06-02-2018, 22:17
|
|
Име: Група: Потребител Ранг: Почетен член Мнения: 915 Регистриран на: 19.08.05 |
Здравейте,
Търся ефективно решение на следното задание. Трябва да мога да следя кога даден юзър, се вписва и отписва(login/logout) в домейн контролера. Приложението ще е инсталирано като сервиз на самия Windows Server. Минималните изисквания са Windows Server 2012 R2. Текущото решение е да следя event log-а за записи за вписване и отписване, което в по-натоварена система е доста бавно. Чудя се дали има начин чрез някое WinAPI, да се закача за въпросните събития и да получавам извикване във вид на callback или отблокиране на някоя WaitForSingle/MultipleObjects функция? |
| ici |
Публикувано на: 06-02-2018, 22:23
|
![]() Име: Ивайло Илчев Група: VIP Ранг: Почетен член Мнения: 19077 Регистриран на: 06.06.04 |
Виж този пример за нотификация от LDAP: https://msdn.microsoft.com/en-us/library/ms...7(v=vs.85).aspx
-------------------- Facebook is a bit like checking your underwear after a fart.
Most likely there's nothing new and if there is it's probably shit. |
| THE STORM |
Публикувано на: 06-02-2018, 22:32
|
|
Име: Група: Потребител Ранг: Почетен член Мнения: 915 Регистриран на: 19.08.05 |
От това, което виждам идеята на кода е да следи за промени на дадени обекти. Това как ще ми помогне да разбера дали някой се е вписал или отписал? Може би има някакви конкретни обекти, които биват модифицирани при такива събития? Ако да ще те помоля да дадеш малко повече информация.
Това мнение е било редактирано от THE STORM на 06-02-2018, 22:32 |
| ici |
Публикувано на: 06-02-2018, 22:34
|
![]() Име: Ивайло Илчев Група: VIP Ранг: Почетен член Мнения: 19077 Регистриран на: 06.06.04 |
Нямам информация просто се опитвам да ти помогна. WMI е другата идея засега: https://msdn.microsoft.com/en-us/library/aa...ror=-2147217396
-------------------- Facebook is a bit like checking your underwear after a fart.
Most likely there's nothing new and if there is it's probably shit. |
| THE STORM |
Публикувано на: 06-02-2018, 22:40
|
|
Име: Група: Потребител Ранг: Почетен член Мнения: 915 Регистриран на: 19.08.05 |
Това и други подобни като WTSWaitSystemEvent() вече ги пробвах и за нещастие вършат работа за вписване/отписване само на конкретния компютър, като също така работят и за remote login(чрез Remote Desktop), но за LDAP вписвания и отписвания грам не ги грее.
Това мнение е било редактирано от THE STORM на 06-02-2018, 22:41 |
| ici |
Публикувано на: 06-02-2018, 22:41
|
||
![]() Име: Ивайло Илчев Група: VIP Ранг: Почетен член Мнения: 19077 Регистриран на: 06.06.04 |
qwinsta вади такава информация, ама мисля че не е много адекватна и показва като логнати такива дето вече ги няма. Това може да го има като ефект и във WMI може би.
-------------------- Facebook is a bit like checking your underwear after a fart.
Most likely there's nothing new and if there is it's probably shit. |
||
| THE STORM |
Публикувано на: 06-02-2018, 22:43
|
|
Име: Група: Потребител Ранг: Почетен член Мнения: 915 Регистриран на: 19.08.05 |
Подобно на споменатите по-горе API-та, qwinsta не хваща LDAP вписаните юзъри от други компютри в домейн контролера...
|
| stewie |
Публикувано на: 07-02-2018, 00:39
|
|
Име: Група: Потребител Ранг: Почетен член Мнения: 7350 Регистриран на: 14.07.16 |
|
| THE STORM |
Публикувано на: 07-02-2018, 13:15
|
|
Име: Група: Потребител Ранг: Почетен член Мнения: 915 Регистриран на: 19.08.05 |
Варианта от първия линк не е оферта понеже скрипта трябва да е writable от всички.
Втория вариант с WMI доста съм го гледал но не ми става ясно как бързо и лесно от сървъра, мога да проверя логнатите клиенти в AD. Може ли да бъдеш малко по-конкретен? |
| wqw |
Публикувано на: 07-02-2018, 16:21
|
![]() Име: Владимир Висулчев Група: VIP Ранг: Почетен член Мнения: 6379 Регистриран на: 10.06.04 |
https://gist.github.com/wqweto/7888059
По принцип WMI event-ите най-вероятно са реализирани с polling на съответния event log, така че тука performance някакъв страхотен няма да се получи. До 1000 account-а ще работи според мен, а ако AD-то не е умрела виртуалка мисля и повече. Това по-горе е доста раздуто и следи само 4625 (An account failed to log on) от Security лога, но може да се пипне и за success лесно. Подобни скриптове най-лесно се слагат през Scheduled Tasks на On system startup със нещо като cscript //nologo my_logger.vbs /out:file_name ... cheers, </wqw> -------------------- |
Страници: (3) [1] 2 3 |
![]() ![]() ![]() |