Авторство не моё, но, так как скрипт зело полезный, решил разместить и у себя 🙂
Если компьютеров в организации много, полезно иметь информацию о том, кто последним логинился на компьютере — имя пользователя. Удобно чтобы эта информация хранилась в одном месте. Почему бы для этого не использовать Active Directory, ведь уже есть развернутый домен.
В Active Directory у объекта «компьютер» есть аттрибут описание. Туда и будем записывать имя пользователя, который последним выполнил вход в систему.
Для этого напишем небольшой скрипт (VBScript), который потом добавим в автозагрузку через групповые политики (GPO).
Option Explicit
Dim objWMIService, objItem, colItems, osVersion, strMessage, strMessagePC
Dim strComputer, strList, objSysInfo, objUser, objComputer
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
For Each objItem in colItems
osVersion = objItem.Caption
Next
if InStr(osVersion, "Server") Then
WSCript.Quit
Else
Set objSysInfo = CreateObject("ADSystemInfo")
Set objUser = GetObject("LDAP://" & objSysInfo.UserName)
Set objComputer = GetObject("LDAP://" & objSysInfo.ComputerName)
strMessage = objUser.CN
objComputer.Description = strMessage
objComputer.SetInfo
End If
Теперь необходимо сохранить его, поместить на шару (папка доступная пользователям по сети) или прямо в папку \\domain.local\SYSVOL\domain.local\scripts и добавить в GPO.
В GPO добавляем скрипт в раздел «Конфигурация пользователя\Политики\Конфигурация Windows\Сценарии\Вход в систему«
Готово, теперь при каждом логине имя пользователя будет записываться в описание компьютера в Active Directory, в итоге будет выглядеть примерно так:
Взято отсюда — http://www.it-ep.ru/knowledge_base/gpo_vbscript/ad_user_pc_description/
PS: А если четвертую снизу строку изменить на
strMessage = objUser.CN + " " + CStr(Now)
То рядом с именем пользователя будем отображаться время входа в систему.