Войти

Показать полную графическую версию : Политика. Отлавливание события логина пользователя.


EraserKhv
28-11-2011, 02:31
Есть задача - отлавливать событие входа пользователя в систему, не важно клиентская машина это будет или терминальная сессия на сервере, после отлова получить параметр с именем пользователя и произвести настройки в ветке его реестра, под правами администратора. Мой выбор пал на отлов событий WMI, начал разбираться, для начала не могу выполнить даже пример из этой (http://msdn.microsoft.com/en-us/library/windows/desktop/aa392395%28v=vs.85%29.aspx) статьи, который пишет в журнал событий сообщения об изменении ветки реестра "HKLM/SOFTWARE/....../CurrentVersion/Run", в Windows 7 и Windows XP получаю ошибки, как на вложеной картинке. Гугль дал рецепты, попробовав несколько - ничего не помогло, обращаюсь к Вам, как решить эту проблему, или есть другой рецепт произвести подобные действия ?

cameron
28-11-2011, 09:46
Есть задача - отлавливать событие входа пользователя в систему, не важно клиентская машина это будет или терминальная сессия на сервере, после отлова получить параметр с именем пользователя и произвести настройки в ветке его реестра, под правами администратора. »
не понятно следующие вещи:
1. домен или рабочая группа?
2. почему изменения в HKCU должны выполняться из под другой учётки? это чутка проблематично.

DmitriiV
28-11-2011, 14:05
3. Где собираетесь вести мониторинг: на клиенте или сервере?

EraserKhv
28-11-2011, 14:43
не понятно следующие вещи:
1. домен или рабочая группа?
2. почему изменения в HKCU должны выполняться из под другой учётки? это чутка проблематично. »

1. Домен
2. Есть такая ветка - "HKEY_CURRENT_USER\Software\Policies\...", запись в нее возможна только с админскими правами. Если запускать скрипт от имени локального администратора, то можно в эту ветку попасть, через путь "HKEY_USERS\S-1-5-21-etc\Software\Policies", где etc это GUID, который можно вычислить если знать sAMAccountName юзера, который логинится в данный момент. Вот этот момент я и хочу отловить, и знать что это за юзер.

3. Где собираетесь вести мониторинг: на клиенте или сервере? »
На клиенте.

cameron
28-11-2011, 14:50
2. Есть такая ветка - "HKEY_CURRENT_USER\Software\Policies\...", запись в нее возможна только с админскими правами. Если запускать скрипт от имени локального администратора, то можно в эту ветку попасть, через путь "HKEY_USERS\S-1-5-21-etc\Software\Policies", где etc это GUID, который можно вычислить если знать sAMAccountName юзера, который логинится в данный момент. Вот этот момент я и хочу отловить, и знать что это за юзер. »
давайте пытать вас дальше - что именно, целиком и полностью вы хотите сделать?
может быть это проще сделать через GPP?

EraserKhv
28-11-2011, 15:05
1. Определить момент, когда логиниться пользователь, на любой машине домена.
2. Определить sAMAccountName пользователя.
3. Определить на каком сервере Exchange находится почтовая база пользователя.
4. Определить в каком сайте находится этот сервер Exchange
5. Определить сайт машины на котором залогинился пользователь
6. Если "Сайт Машины" не равен "Сайту Exchange сервера" установить "HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\11.0\Outlook\Cached Mode\CachedExchangeMode"=1, иначе удалить "HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\11.0\Outlook\Cached Mode\CachedExchangeMode". (Настройка Outlook - "Загружать заголовки".

Осуществление пунктов 3-6 уже оформлено в скрипте, который я планировал добавить в GP раздел "logon script". Но возникли досадные грабли - в эту ветку реестра нельзя писать без прав администратора, поэтому прибавились пункты 1 и 2.

cameron
28-11-2011, 15:14
EraserKhv,
в связи с тем что, насколько я знаю, серверы Exchange просто так по сайтам не ездят, то не проще ли сделать сайтовую политику, на сайты без Exchange? и соотно закидывать туда параметр?
таким образом если пользователь логинится в нужном сайте ему приезжает нужная ГП.
или же выполнять изменение HKCU через GPP с нацеливание на условиях:
сабнет + наличие записи в реестре

EraserKhv
28-11-2011, 15:50
в связи с тем что, насколько я знаю, серверы Exchange просто так по сайтам не ездят, то не проще ли сделать сайтовую политику, на сайты без Exchange? и соотно закидывать туда параметр? »
Сайтов без Exchange у нас нет и по сайтам они естественно не ездят. Зато ездят пользователи по сайтам, причем очень интенсивно и спрогнозировать, кто куда поедет невозможно.
или же выполнять изменение HKCU через GPP с нацеливание на условиях:
сабнет + наличие записи в реестре »
Как я понимаю, это политика пользователя, соответственно доступ в нужную мне ветку реестра - запрещен. А если делать через политику компьютера, то на момент её обработки, пользователь может еще не успеть набрать пароль, и соответственно политика или запускаемый скрипт, может не обнаружить в списке реестра, учетку, которая сейчас повится и пользователь в итоге опять будет тянуть свою базу целиком, от чего я хочу избавиться, заставив принудительно грузить только заголовки писем. Исходя из этого у меня и возникла идея, как то подписаться на WMI событие - "Я логинюсь в компьютер", в результате которого мой скрипт отработает под админскими правами и при этом зная какую ветку реестра пользователя обработать.

cameron
28-11-2011, 16:22
EraserKhv, 6. Если "Сайт Машины" не равен "Сайту Exchange сервера" установить "HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\11.0\Outlook\Cached Mode\CachedExchangeMode"=1, иначе удалить "HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\11.0\Outlook\Cached Mode\CachedExchangeMode". (Настройка Outlook - "Загружать заголовки". »
интересно то, что на Windows XP/7 с Office 2003/2010 я не нашла указаных вами ключиков реестра.

зато нашла описание по отключению режима кеширования через реестр
http://www.howto-outlook.com/howto/cachedmoderegkey.htm

а вот если использовать ADm Templates (что идеологически верно и видимо у вас используется), то запись оная в реестре появляется, при значении в шаблоне "Download headers".
теперь я совсем не понимаю, почему не сделать GPO на сайты.

cameron
28-11-2011, 16:37
ну и в продолжение:
руками с правами пользователя не поменять, через GPP - без проблем.
для проверки вписала себе туда 5 =)

EraserKhv
29-11-2011, 01:33
почему не сделать GPO на сайты »
Немного не понимаю, что я могу получить от этого.

К примеру есть 2 сайта:Хабаровск, Петропавловск.
Политика KHV срабатывает только в сайте Хабаровск, политика PKC только в Петропавловск, и что они делать должны ?

cameron
29-11-2011, 08:49
и что они делать должны ? »
как я понимаю это сайты без Exchange, соотно ГПО должны применяться к некой группе Roaming-users (у вас же явно не вся компания туда-сюда катается) и либо на логоне скрипте кидать файлик .reg с одини параметрами, либо с другими.
но вообще через GPP проще и наглядней.

EraserKhv
29-11-2011, 08:57
как я понимаю это сайты без Exchange »
У нас во всех сайтах есть Exchange.

(у вас же явно не вся компания туда-сюда катается) »
Вот именно - вся компания катается (~1000 человек), и сайтов у нас 6, намечается 7. Ручками некому из группы в группу их перекидывать, поэтому этот поцесс надо отдать на откуп автоматическим средствам. Вот.

cameron
29-11-2011, 09:05
Вот именно - вся компания катается (~1000 человек), и сайтов у нас 6, намечается 7. Ручками некому из группы в группу их перекидывать, поэтому этот поцесс надо отдать на откуп автоматическим средствам. Вот. »
класс =)
тогда у вас явно есть группы пользователй = своему сайту, пусть это будет
KHV_group
PKC_group
так же каждый сайт имеет свой сабнет(ы).

делаем 6 GPP(ну по сайтам, понятно да) с нужными изменениями в реестре
нацеливаем на:
членство в группе + сабнет.
соотно если юзер член KHV_group в сабнете PKC - ему убиваем параметр.
если в сабнете KHV - прописываем

EraserKhv
29-11-2011, 11:35
тогда у вас явно есть группы пользователй = своему сайту, пусть это будет »
Нет к сожалению, вернее она была, но в одно время мы не стали отслеживать их перемещения.

Все таки хотелось бы отработать вариант в WMI подпиской на события. Это полезно уметь и для других задач. Есть кто подобное проделывал на практике, а не просто читал про это ?

DmitriiV
29-11-2011, 15:47
хотелось бы отработать вариант в WMI подпиской на события...»Предлагаю вместо наблюдения за реестром вести наблюдение за журналом безопасности (это проще).
Язык сценариев - VBS.
Годится?

EraserKhv
29-11-2011, 17:09
Предлагаю вместо наблюдения за реестром вести наблюдение за журналом безопасности (это проще).
Язык сценариев - VBS. »
Вполне.




© OSzone.net 2001-2012