За каким компьютером работает пользователь Active Directory

active-directory-iconВ целях инвентаризации, да и вообще для админского удобства, надо знать за каким компьютером сидит пользователь. Ну и обратная задача – какой пользователь сидит за компом в данный момент. Решению этой задачи посвещен сегодняшний пост.

1. Сделаем это так – при логине/логауте в описании компьютера будем писать юзера, а в описании юзера – писать компьютер. Для начала нам надо делегировать права группе “Пользователь домена” права на чтение и запись свойства “Описание” объекта. Делается это так. Правой кнопкой мыши кликаем на нужный нам OU (например с юзерами домена) -> Делегирование управления -> Выбираем группу “Пользователи домена” -> Создать особую задачу для делегирования -> Только следующим объектам в этой папке -> ищем там “Пользователь объектов” (для OU с компами тут выбираем “Компьютеры объектов”) -> Убираем галку “Общие”, ставим галку “Разрешение для свойств” -> ищем “Чтение Описание” и “Запись Описание” и ставим там галки.

2. Аналогично проводим этот же этап для OU с компьютерами.

3. Создаём новый объект GPO и привязываем его к нужному OU с группой “Пользователи домена” в фильтрах безопасности. В папке \\yourdomain.local\SysVol\mniitep.ru\Policies\{id-политики}\User\Scripts\Logon соаздём скрипт writeComputerDescription_Logon.vbs

writeComputerDescription_Logon.vbs

On Error Resume Next
Dim adsinfo, ThisComp, oUser
Set adsinfo = CreateObject(“adsysteminfo”)
Set ThisComp = GetObject(“LDAP://” & adsinfo.ComputerName)
Set oUser = GetObject(“LDAP://” & adsinfo.UserName)
oUser.put “description”, “Computer: ” + ThisComp.cn + ” ” + CStr(Now)
oUser.Setinfo
Thiscomp.put “description”, “Logged on: ” + oUser.cn + ” ” + CStr(Now)
ThisComp.Setinfo

 

Там же создаём скрипт writeComputerDescription_Logon.bat

writeComputerDescription_Logon.bat

wscript.exe //d //x \\mniitep.ru\SysVol\domain.local\Policies\{id-политики}\User\Scripts\Logon\writeComputerDescription_Logon.vbs

и прописываем его(bat-ник_ в политику.

Аналогично с logout (\\yourdomain.local\SysVol\mniitep.ru\Policies\{id-политики}\User\Scripts\Logoff).

writeComputerDescription_Logout.vbs

On Error Resume Next
Dim adsinfo, ThisComp, oUser
Set adsinfo = CreateObject(“adsysteminfo”)
Set ThisComp = GetObject(“LDAP://” & adsinfo.ComputerName)
Set oUser = GetObject(“LDAP://” & adsinfo.UserName)
oUser.put “description”, “>> Computer: ” + ThisComp.cn + ” ” + CStr(Now)
oUser.Setinfo
Thiscomp.put “description”, “>> Logged off: ” + oUser.cn + ” ” + CStr(Now)
ThisComp.Setinfo

writeComputerDescription_Logon.bat

wscript.exe //d //x \\mniitep.ru\SysVol\domain.local\Policies\{id-политики}\User\Scripts\Logoff\writeComputerDescription_Logout.vbs

В результате получится такая вот симпатюлина.

active_directory_logon_time

Ссылки

http://retifff.wordpress.com/2010/01/23/script-login-online-users/

Leave a Comment