Добавление динамической информации для объектов «компьютеры» в оснастку «Пользователи и компьютеры» Active Directory

Все об администрировании Windows NT/2000/2003/2008/2012 Server (в т.ч. R2) серверов. Групповые политики, домены, безопасность и пр. То, чего не найдешь в бескрайних просторах Интернета. Решения тех проблем, которые не решаются типовыми ответами, которые можно получить в техподдержке Майкрософта - а именно: переустановить продукт или купить какой-ть другой лицензионный диск.


Модератор: UncleFather

Аватара пользователя
UncleFather
Site Admin
Сообщения: 1518
Зарегистрирован: 17 авг 2004 16:20, Вт
Контактная информация:

Добавление динамической информации для объектов «компьютеры» в оснастку «Пользователи и компьютеры» Active Directory

Сообщение UncleFather »

Задача:

Необходимо обеспечить отображение информации о том, какой пользователь использует компьютер, ip-адрес компьютера в оснастке «Пользователи и компьютеры» Active Directory.

01.png

Решение:

  1. Первым делом меняем настройки безопасности Active Directory для того, чтобы аутентифицированные пользователи могли вносить изменения в параметр «Описание» объекта «Компьютер». Именно в этом параметре мы будем хранить информацию для отображения в оснастке:

    1. Включаем дополнительные возможности в консоли Active Directory «Пользователи и компьютеры»

      01.jpg
    2. Открываем свойства домена

      02.jpg
    3. Переходим на вкладку «Безопасность», жмем «Дополнительно», в открывшемся окне «Добавить», в открывшемся окне выбираем субъект «Прошедшие проверку» («Authenticated Users»)

      03.jpg
    4. Выбираем область применения «Дочерние объекты: Компьютер»

      04.jpg
    5. Разрешаем запись параметра «Описание»

      05.jpg
    6. Сохраняем проделанные изменения.

  2. Теперь создаем VBS скрипт, получающий необходимую информацию о компьютере:

    pc-user.rar
    (1.7 КБ) 14 скачиваний
    Спойлер

    Код: Выделить всё

    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
  3. Через групповые политики прописываем скрипт в автозапуск каждого пользователя при входе в систему:

    06.jpg

Alexander A. Manaeff©

Понравилась статья? Будем крайне признательны за репосты в соцсетях! Материально поддержать проект можно здесь

Мои странички:
ВКонтакте
Одноклассники
Youtube
Facebook
Instagram

Изображение
Изображение
Изображение
Изображение