Для удобства администрирования пользователей в AD можно добавить в поле «описание» компьютера или пользователя дополнительной полезной информации. В моем случае, добавление информации пользователю о компьютере и IP, в который он последний раз заходил. Ну и добавление информации компьютеру об его IP и последнем пользователе, который в него заходил.

Для начала надо разрешить пользователям домена заполнять «описание».

Для этого на домене или нужном подразделении правой кнопкой выбрать свойства - безопасность - дополнительно и там проставить следующие галочки.

Для добавление в «описание» пользователей
Для добавление в «описание» компьютеров
После этого создаем два скрипта .vbs

Для пользователей

Option Explicit
Dim objWMIService, objItem, colItems, osVersion, IPConfigSet, i
Dim strComputer, objSysInfo, objUser, objComputer, ips, IPConfig
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
Set IPConfigSet = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
For Each IPConfig in IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
For i = LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress)
If Not Instr(IPConfig.IPAddress(i), ":")> 0 Then
ips = ips & IPConfig.IPAddress(i) & vbcrlf
End  If
Next
End If
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)
End If
Next
objUser.description = objComputer.cn + " " + ips
objUser.SetInfo

Для компьютера

Option Explicit
Dim objWMIService, objItem, colItems, osVersion, strMessage, strMessagePC, IPConfigSet, i
Dim strComputer, strList, objSysInfo, objUser, objComputer, ips, IPConfig
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
Set IPConfigSet = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
For Each IPConfig in IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
For i = LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress)
If Not Instr(IPConfig.IPAddress(i), ":")> 0 Then
ips = ips & IPConfig.IPAddress(i) & vbcrlf
End  If
Next
End If
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)
End If
Next
strMessage = objUser.CN
objComputer.Description = strMessage + " " + ips
objComputer.SetInfo

Ну и потом просто добавить пользователям через «Управление групповой политикой» эти скрипты для выполнения при входе пользователя в компьютер.

И в итоге получим примерно такое в оснастке

  • work/active_directory/objects_description_ad_uc.txt
  • Последнее изменение: 2024/07/05 15:34
  • rolland