Автор Тема: Выявление учетных записей добавленных в группу локальных "админов"  (Прочитано 4171 раз)

0 Пользователей и 1 Гость просматривают эту тему.

poganeene

  • Гость
Здравствуйте! Подскажите пожалуйста какое нибудь ПО, которое позволяет выявлять пользователей, которые относятся к группе "Администраторы" и соответственно мониторились бы изменения, при добавленние пользователя в данную группу или подобную ей.

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

Пробовал несколько видов ПО типо "Инвентаризация" и "10-страйк инвентаризация сети".... но увы, они как следуют не отображают данные....

PS(доменная структура, учетки доменные добавляются в группу "администраторы", по сути пользователи, которым необходимо быть локаладминами на рабочих станциях.)

Заранеее спасибо!
« Последнее редактирование: Сентябрь 24, 2013, 10:09:55 am от sysadmin »

 

Онлайн sysadmin

  • Administrator
  • сисадми́н
  • *****
  • Сообщений: 7931
  • Karma: +108/-0
  • Пол: Мужской
    • Share Post
    • сайт для сис. админов и не только...
Привет, я прогонял скриптами на входе пользователя в систему... выяснял имя текущего пользователя и членство в группах, лог складывал в сетевую папку с именем машины, другой вариант прогнать уже включенные машины так же посредством WMI... если со скриптами возиться неохота то можно попытаться использовать к примеру Everest, так же на входе пользователя в систему.
дорогу осилит идущий...
......................
MCP, MCTS, RHCSA
......................
also aka xck...

poganeene

  • Гость
немного не понял Вас...

Я имею ввиду не в доменных группах в АД, добавляются пользователи в группу администраторы, а прямо на локальной машине в группы Администраторы, получается пользователь как бы имеет полный контроль над своей машиной.

На счет бесплатного или платного решения особого значения не имеет. Мне нужно хоть каким то образом контролировать этот процесс...(Просто видите ли, такая ситуация...тех. под у которых полный доступ на все машины, может добавить доменную учетку обычного пользователя в группу локаладмин прямо на самой рабочей станции, ну и соответственно появляется этакий "бардак" потому что пользователи устанавливают всякое разное ПО, не входящее в список разрешенного и могут делать все что хотят на своих машинах)  (или я сейчас глупость сказал?  :smile3:)

Либо может быть посоветуете какое нибудь другое решение данной проблемы?
« Последнее редактирование: Октябрь 23, 2012, 03:26:18 pm от poganeene »

Онлайн sysadmin

  • Administrator
  • сисадми́н
  • *****
  • Сообщений: 7931
  • Karma: +108/-0
  • Пол: Мужской
    • Share Post
    • сайт для сис. админов и не только...
Да я и писал именно про локальные машины, группы администраторов, их членов...
З.Ы. В свое время у нас тоже была подобная ситуация, я долго не разбирался, настроил групповую политику (Restriction Group), которая удаляет всех из локальной группы администраторов, кроме тех, кого я определил, возмущений было много, но все постепенно смирились... Возможно в данном случае целесообразней настроить такую политику и забыть про пользователей которых добавляют в группу локальных администраторов...
« Последнее редактирование: Сентябрь 24, 2013, 10:38:21 am от sysadmin »

Онлайн sysadmin

  • Administrator
  • сисадми́н
  • *****
  • Сообщений: 7931
  • Karma: +108/-0
  • Пол: Мужской
    • Share Post
    • сайт для сис. админов и не только...
Вот тебе пример powershell скрипта, которым я иногда пользуюсь:
$computer = [ADSI]("WinNT://" + "ComputerName" + ",computer") 
$computer.name
function ListAdministrators
{
$members= $Group.psbase.invoke("Members") | %{$_.GetType().InvokeMember("Name", ‘GetProperty’, $null, $_, $null)}
$members}
$Group = $computer.psbase.children.find("administrators")
ListAdministrators
Где в поле ComputerName необходимо указать имя удаленного компьютера, запуск скрипта необходимо производить от имени учетной записи обладающей привилегиями на удаленной машине, если будет ругаться на выполнение, установи политику выполнения скриптов, у меня unrestricted:
set-executionpolicy unrestricted

poganeene

  • Гость
Огромнейшее спасибо!
Я нашел похожий скрипт но только с другой оберткой  :smile3::
$Computer = "Win7Test"
TRY
{ ## OPEN TRY
$ADSIComputer = [ADSI]("WinNT://" + $Computer + ",Computer")
$AdminGroup = $ADSIComputer.PSbase.Children.Find("Administrators")
$AdminGroupMembers= $AdminGroup.PSbase.Invoke("Members") | %{$_.GetType().InvokeMember("Name", 'GetProperty', $Null, $_, $Null)}
} ## CLOSE TRY
CATCH { Write-Warning "Unable to get Administrators Group Membership on $Computer `r " }

Write-Output "$Computer Administrators: `r "
Write-Output "========================= `r "
Write-Output " `r "
ForEach ($Member in $AdminGroupMembers)
{ ## OPEN ForEach Member in AdminGroupMembers
$Member
} ## CLOSE ForEach Member in AdminGroupMembers
Write-Output " `r "

ну и впринципе все похожее на эту тему:
http://blogs.metcorpconsulting.com/tech/?p=666
« Последнее редактирование: Февраль 19, 2014, 09:08:47 pm от sysadmin »

Онлайн sysadmin

  • Administrator
  • сисадми́н
  • *****
  • Сообщений: 7931
  • Karma: +108/-0
  • Пол: Мужской
    • Share Post
    • сайт для сис. админов и не только...
Оба схожи, используют одну и ту же конструкцию WMI...  :smile3:
« Последнее редактирование: Октябрь 24, 2012, 06:58:26 pm от sysadmin »

poganeene

  • Гость
Имею я вот такой скрипт:
$Computer = "WALM01D-90523"
TRY
{ ## OPEN TRY
$ADSIComputer = [ADSI]("WinNT://" + $Computer + ",Computer")
$AdminGroup = $ADSIComputer.PSbase.Children.Find("Администраторы")
$AdminGroupMembers= $AdminGroup.PSbase.Invoke("Members") | %{$_.GetType().InvokeMember("Name", 'GetProperty', $Null, $_, $Null)}
} ## CLOSE TRY
CATCH { Write-Warning "Unable to get Administrators Group Membership on $Computer `r " }

Write-Output "$Computer Administrators: `r "
Write-Output "========================= `r "
Write-Output " `r "
ForEach ($Member in $AdminGroupMembers)
{ ## OPEN ForEach Member in AdminGroupMembers
$Member
} ## CLOSE ForEach Member in AdminGroupMembers
Write-Output " `r "
Как добавить цикл?
т.е. мне необходимо выполнить данные операции со списком машин взятых с файла.  "$Computer = "compname""

В файле у меня будет список имен машин.

Вот что то наподобие этого $i=1 - первая строка в файле(1 имя машины) -lt = " " (знак пробела) (т.е. идти вниз по строкам пока не достигнет конца файла или знака пробела)
for ($i=1; $i -lt= " " ; $i++) { Write-Host $i }

Используя массив:
$letterArray = "Путь к файлу"
foreach ($letter in $letterArray){Write-Host $letter}


Я разбирался с синтаксисом, но что то увы пока не получается....

Я сделал "поглупому" добавил условие if :) и заново вставил тот код. В итоге вывилось у меня пару машин. но это подеревянному. :)))
« Последнее редактирование: Декабрь 21, 2012, 03:41:45 pm от poganeene »


xx
Вирус "Heart Bleed" или "Кровоточащее Сердце"

Автор whoami

2 Ответов
974 Просмотров
Последний ответ Апрель 14, 2015, 05:07:58 pm
от NiX
xx
Поиск залоченных (Locked-Out) учетных записей в AD

Автор sysadmin

0 Ответов
1838 Просмотров
Последний ответ Июль 25, 2011, 05:47:30 pm
от sysadmin
xx
Поиск в AD неактивных пользователей (учетных записей)

Автор sysadmin

0 Ответов
315 Просмотров
Последний ответ Июнь 08, 2016, 10:43:24 am
от sysadmin
xx
PowerShell - скрипт экспорта учетных записей AD и их аттрибутов в CSV

Автор sysadmin

0 Ответов
504 Просмотров
Последний ответ Январь 14, 2016, 10:18:05 am
от sysadmin