За каким компьютером работает пользователь Active Directory
// 11 ноября, 2015 // Системное администрирование
В целях инвентаризации, да и вообще для админского удобства, надо знать за каким компьютером сидит пользователь. Ну и обратная задача — какой пользователь сидит за компом в данный момент. Решению этой задачи посвещен сегодняшний пост.
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
В результате получится такая вот симпатюлина.
Ссылки
http://retifff.wordpress.com/2010/01/23/script-login-online-users/
Спасибо!
Если вам помогла статья, или вы хотите поддержать мои исследования и блог - вот лучший способ сделать это: