Находим локальных администраторов.

Задача: Найти всех пользователей, которые являются локальными администраторами на рабочих станциях организации.
Исходные данные:

  • Сервер — Windows Server 2008 R2 с функциями AD, DHCP, DNS, WSUS
  • Рабочие станции — ОС от Windows XP до Windows 7.

Есть как минимум 3 варианта решения этой задачи:
  1. Пройтись по всем рабочим станциям организации и посмотреть. 
  2. Зайти в консоль управления Active Dirrectory, перейти в раздел «Computers» и щелкая по каждому компу ПКМ и выбирать пункт «Управление». В появившемся окне посмотреть кто входит в группу «Администраторы».
  3. Запустить скрипт на всех рабочих станциях посредством Групповой политики, а затем просто обработать получившиеся данные.
Первый вариант думаю комментировать не нужно. Если у Вас в организации мало рабочих станций, то такой вариант вам подойдет. Если же их больше 20-30, то уже проблематично.
Второй вариант, подойдет также при небольших объемах пользователей. Вариант полностью ручной.
Третий вариант более интересный и легкий в плане затрат времени и сил. Алгоритм данного способа прост:
  1. Пишем скрипт, который будет опрашивать группу «Администраторы» на локальной машине (не доменную группу) и будет выдавать всех членов группы в отдельный файл на какой-нибудь общей шаре.
  2. Засовываем скрипт в групповую политику на выполнение при старте системы
  3. Пишем еще один скрипт, который проанализирует полученные ранее данные и оформит все табличном виде, н.р. в csv. В принципе можно это действие объединить с п.1, все зависит от ваших знаний командной строки или VBS или PowerShell.
У этого способа кроме удобства и плюсов есть и минусы:

Чтобы собрать информацию со всех рабочих станций нужно время. Связано это с тем, что скрипт выполняется только при старте системы, а старт этот может произойти не скоро (ну н.р. сотрудник в отпуске, командировке, больничном или еще где-нибудь.).Вот пример скрипта:

@ echo off
SET GROUP=Администраторы
SET LOG1="\\192.168.0.1\\LOG\%ComputerName%.log"
echo =================================================== >> %LOG1%
echo PC: %ComputerName% >> %LOG1%
for /f "skip=6 tokens=* delims=" %%i in ('net localgroup %GROUP%') do echo %%i >> %LOG1%
echo =================================================== >> %LOG1%

В результате информация о всех локальных администраторах будет складываться в общую папку. Имена файлов — имя компьютера, в логе будет информация о всех админах.

Пример лог.файла:
===================================================
PC: User1
Test.local\Администраторы домена
user
Администратор
Команда выполнена успешно.
===================================================

 

comments powered by HyperComments