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

// Ноябрь 11th, 2015 // Системное администрирование

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/

Share

Спасибо!


Если вам помогла статья, или вы хотите поддержать мои исследования и блог - вот лучший способ сделать это:


Комментировать