Задача:
Необходимо обеспечить отображение информации о том, какой пользователь использует компьютер, ip-адрес компьютера в оснастке «Пользователи и компьютеры» Active Directory.
Решение:
-
Первым делом меняем настройки безопасности Active Directory для того, чтобы аутентифицированные пользователи могли вносить изменения в параметр «Описание» объекта «Компьютер». Именно в этом параметре мы будем хранить информацию для отображения в оснастке:
-
Включаем дополнительные возможности в консоли Active Directory «Пользователи и компьютеры»
-
Открываем свойства домена
-
Переходим на вкладку «Безопасность», жмем «Дополнительно», в открывшемся окне «Добавить», в открывшемся окне выбираем субъект «Прошедшие проверку» («Authenticated Users»)
-
Выбираем область применения «Дочерние объекты: Компьютер»
-
Разрешаем запись параметра «Описание»
-
Сохраняем проделанные изменения.
-
-
Теперь создаем VBS скрипт, получающий необходимую информацию о компьютере:
Спойлер
Код: Выделить всё
Option Explicit Dim objWMIService, objItem, colItems, osVersion, strMessage, strMessagePC Dim strComputer, strList, objSysInfo, objUser, objComputer, strQuery, strIP 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) strQuery = "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE MACAddress > ''" Set objWMIService = GetObject( "winmgmts://./root/CIMV2" ) Set colItems = objWMIService.ExecQuery(strQuery, "WQL", 48 ) For Each objItem In colItems If IsArray( objItem.IPAddress ) Then If UBound( objItem.IPAddress ) = 0 Then strIP = "IP: " & objItem.IPAddress(0) Else strIP = "IP: " & Join( objItem.IPAddress, "," ) End If End If Next strMessage = objUser.CN + " " + CStr(Now) + " " + strIP objComputer.Description = strMessage objComputer.SetInfo End If
-
Через групповые политики прописываем скрипт в автозапуск каждого пользователя при входе в систему: