При выполнении скрипта происходит запись в атрибут Description (объекта – компьютера в Active Directory) имени текущего залогиненного пользователя. Это делается при логоне/логоффе пользователя.
Как все делается. Есть два скрипта, один для Logon, другой для Logoff. Скрипты эти помещаются соответственно в Logon и Logoff скрипты в групповую политику для OU, в котором находятся учетные записи пользователей.
Далее, группе… скажем Domain Users делегируем на OU, содержащий компьютеры, следующие разрешения: Computer Objects > Write Description.
Сами скрипты (логофф отличается от логон только парой слов в предпоследней строке):
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)
Thiscomp.put "description", "Logged on: " + oUser.cn + " " + CStr(Now)
ThisComp.Setinfo
writeComputerDescription_Logoff.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)
Thiscomp.put "description", ">> Logged off: " + oUser.cn + " " + CStr(Now)
ThisComp.Setinfo
Выглядит это примерно так:
Естественно, для того, чтобы совсем онлайн было, нужно все время жать F5
Сам скрипт отсюда: http://www.dbforums.com/archive/index.php/t-1106587.html
http://retifff.wordpress.com/2010/01/23/script-login-online-users/
Как насчет безопасности? Обязательно найдётся один продвинутый пользователь, который запустит оснастку и в описании компа соседа напишет «Джон — козёл»
Это же в описании компа в AD пишется, а не в описании локального компа, там хоть обпишись.