Сопоставление имени компьютера + имя пользователя в домене

Задача: Хочу чтобы у меня в оснастке Active Directory Users and Computers домена polygon.com базирующего на Windows Server 2012 R2 Std в описании к каждому компьютеру в колонке Description отображалось, кто в данный момент под ним работает из пользователей. Мне это нужно дабы когда пользователь просит подключитесь ко мне (я использую Radmin Viewer), то я мог быстро это посмотреть, а после подключиться и оказать помощь.

В итоге должно получиться вот так: (это как сделано у меня на работе)

Рабочий пример информации в поле Description OU=Computers

В наличии тестовый полигон srv-proxmox внутри которого создана структура из виртуальных машин показывающая обычный набор систем:

srv-dc1.polygon.com (Windows Server 2012 R2 Std)

  • Roles: AD, DNS, DHCP

W10X64.polygon.com (Windows 10 Pro)

  • Roles: рабочая станция

srv-gw.polygon.com (pfSense 2.4.4)

  • Roles: шлюз для тестовой системы.

Приступим:

Шаг №1: На домен контроллере, я авторизован как Login: ekzorchik права у меня Group: Domain Admins (srv-dc1.polygon.com) открываем оснастку управления пользователями и компьютерами:

Win + R - control.exe или Win + X → Control Panel - Administrative Tools - Active Directory Users and Computers, включаю показ расширенных элементов: View - Advanced Features, затем на OU=Computers через правый клик открываю Properties (Свойства) перехожу на вкладку Security - Advanced, нахожу запись прав вида:

  • Type: Allow
  • Principal: Authenticated Users
  • Access: Special
  • Inherited from: None
  • Applies to: This object only

выделяю ее и нажимаю Edit

Изменяю настройки для OU=Computers применительно к Authenticated Users

Затем отмечаем галочкой права:

  • Principal: Authenticated Users
  • Type: Allow
  • Applies to: This object only изменяю на Descendant Computer objects и отмечаю галочкой

Даю права на запись в поле Description

На заметку: Все остальные галочки прав не трогаем.

После нажимаем OK окна Permission Entry for Computers, Apply окна Advanced Security Settings for Computers, OK окна Advanced Security Settings for Computers, OK окна Computer Properties.

Шаг №2: На домен контроллере, я авторизован как Login: ekzorchik права у меня Group: Domain Admins (srv-dc1.polygon.com) открываем оснастку управления групповыми политиками Group Policy Management:

Файлы для загрузки: ADDescription

Структура каталога scripts на srv-dc1: C:\Windows\SYSVOL\sysvol\polygon.com\scripts

Структура каталога Scripts в домене

На заметку: По пути on srv-dc1: C:\Windows\SYSVOL\sysvol\polygon.com\scripts создаю два исполняемых файла с расширением cmd.

writeComputerDescription_Logon.cmd

writeComputerDescription_Logoff.cmd

На заметку: По пути on srv-dc1: C:\Windows\SYSVOL\sysvol\polygon.com\scripts создаю два исполняемых файла с расширением vbs

writeComputerDescription_Logon.vbs

writeComputerDescription_Logoff.vbs

Win + R - control.exe или Win + X → Control Panel - Administrative Tools - Group Policy Management и редактирую Default Domain Policy

Computer Configuration - Policies - Administrative Templates - System - Group Policy

  • Configure scripts policy processing: Enabled
    • Allow processing across a slow network connection: отмечаю галочкой

User Configuration - Policies - Windows Settings - Scripts - Logon - Add - Browse и указываю путь:

File name: \\polygon.com\SysVol\polygon.com\scripts\writeComputerDescription_Logon.cmd

Отмечаю, что при Logon запускать writeComputerDescription_Logon.cmd

User Configuration - Policies - Windows Settings - Scripts - Logoff - Add - Browse и указываю путь:

File name: \\polygon.com\SysVol\polygon.com\scripts\writeComputerDescription_Logoff.cmd

Отмечаю, что при Logoff запускать writeComputerDescription_Logoff.cmd.cmd

Итого политика Default Domain Policy расширилась по части применения на User Configuration:

Итого политика Default Domain Policy расширилась по части применения на User Configuration

Шаг №3: Проводим испытания, к примеру на W10X64, включаю ее и авторизуюсь как Login: alektest, инициирую применение всех политик:

Win + R → cmd → gpupdate /force

После перезагрузившись и авторизовавшись если посмотреть на домен контроллере на оснастку Active Directory Users and Computers то видно результат заполнения колонки Description

При Logon:

При Logon заполняется колонка Description OU=Computers

При Logoff:

При Logoff заполняется колонка Description OU=Computers

Но бывает, что скрипт Logoff или Logon не отрабатывает, т. е. В Description информация не заносится, отчего так я не особо понял. Значит нужен еще какой-либо способ логировать за каким компьютером сейчас авторизован пользователь.

Создал каталог info и обозначил его как скрытая шара, в него могут писать authenticated users, а затем создал cmd скрипт и положил его в Logon дабы он после каждой авторизации пользователя на рабочей станции запускался и сохранял информацию в каталог на srv-dc1\c:\info или \\polygon.com\info$

Group Policy Management - Edit (Default Domain Policy) - User Configuration - Policies - Windows Settings - Scripts (Logon/Logoff) - Logon - Add - Browse и политику:

\\polygon.com\sysvol\polygon.com\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\USER\Scripts\Logon

копирую созданный cmd скрипт следующего содержания:

logoncomputer.cmd

после нажимаю Open, OK, получает что теперь два cmd скрипта при авторизации пользователя на ПК:

При авторизации на ПК запускаются 2 cmd скрипта

Затем нажимаю Apply, OK.

После того как пользователь авторизовался, сперва выполняется скрипт записи в Description оснастки на домен контроллере Active Directory Users and Computers, а после данные заносятся в \\srv-dc1\info$

Содержимое скрытого каталога info$где смотрим последнюю дату, к примеру под учетной записью alektest последний раз заходили в 11.12.2020 20:16, открываю данный текстовый файл и вижу:

10.12.2020 22:51:45,69 W10X642 alektest
11.12.2020 20:16:10,28 W10X642 alektest

что в указанную дату и время пользователя авторизовался на рабочей станции W10X642.

Используя оба скрипта в данной заметке я получаю полную информацию на случай если мне нужно опознать имя компьютера дабы используя Radmin Viewer инициировать подключение и оказать удаленную помощь.