Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Узнать список доменных пользователей с админскими правами

Ответить
Настройки темы
Любой язык - Узнать список доменных пользователей с админскими правами

Старожил


Сообщения: 161
Благодарности: 1

Профиль | Отправить PM | Цитировать


День добрый знатоки.

Необходимо удалённо, на множестве компов (около 100) узнать, если ли у локальных и доменных пользователя админские права (входит ли они в группу локальных админов или доменных).

нашёл некий скрипт:
Код: Выделить весь код
    $ExportFile = "C:\папка_для_лога\remotes.txt"
    $SearchBase = "OU=ALL_Users,DC=contoso,DC=com"
    $AdminList = @{}
    $ToCSV = ""
     
    function Get-LocalAdmin { 
        param ($strcomputer)
        try {
           $users = Gwmi win32_groupuser –computer $strcomputer -ErrorAction Stop
        } catch {
            Write-Host $strcomputer
        }
        if ($users) {
            $admins = $users |? { ($_.groupcomponent –match 'Администраторы') -or ($_.groupcomponent –match 'Administrators') }
            $return = $admins |% { 
                $_.partcomponent –match “.+Domain\=(.+)\,Name\=(.+)$” > $nul 
                $matches[1].trim('"') + “\” + $matches[2].trim('"') 
            }
            return $return
        }
    }
     
    $ServersList = Get-ADComputer -SearchBase $SearchBase -Filter * -Properties OperatingSystem | Where { $_.OperatingSystem -match "Windows" }
    $ServersList | Select-Object Name | ForEach-Object {
        $UserList = Get-LocalAdmin $_.Name
        if ($UserList) {
            $AdminList[$_.Name] = $UserList
        }
    }
     
    $AdminList.Keys | % {
        $ServerName = $_
        $AdminUsers = $AdminList[$ServerName]
        $ToCSV += "$ServerName;$AdminUsers`r`n"
    }
     
    if (Test-Path $ExportFile) {
        Remove-Item $ExportFile
    }
     
    $ToCSV >> $ExportFile
тут мы проверяем доменных пользователей на наличие у них группы администраторы.

Как можно добавить проверку на группу локальных админов, а также добавить проверку локальных юзеров на админские права?

Отправлено: 16:24, 14-02-2020

 

Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Цитата DJ Mogarych:
это рекомендации по вложенности групп, при чём здесь права доменного админа на локальных тачках? »
Не только. В блоке Local Group Usage Best Practice это вкратце упоминается, и далее дается ссылка на статью как это настроить.
Цитата DJ Mogarych:
Так или иначе, скрипт надо запускать от той учётки, которая имеет права на локальных машинах. »
И для этого NT AUTHORITY\SYSTEM - выше крыши.
DJ Mogarych, я понимаю, что бывает неприятно, когда поправляют, но я оскорбить не пытался. Опять же поправился что это не то чтобы бестпрактис, а просто разумные рекомендации, да даже если бестпрактис - нет же никаких требований к использованию оных. Посему я не понимаю сути наезда. Если есть конкретные претензии, или я ошибаюсь и так как я рекомендую делать нельзя от слова вообще - аргументы в студию, т.к. голословные утверждения, что это не так не менее оскорбительны.

Отправлено: 20:05, 17-02-2020 | #11



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6626
Благодарности: 1528

Профиль | Отправить PM | Цитировать


Elven, мне не неприятно. Просто я не нашёл там упоминания о том, что
Цитата Elven:
весьма хорошо когда доменный администратор не имеет прав локального админа на не контроллерах »
То, что нужно контролировать членов группы локальных администраторов, с этим глупо спорить. Но учётка, имеющая права доменного админа, должна иметь права на локальных машинах, это стандарт. Учётка, таких прав не имеющая, но тоже привилегированная, называется "Администратор предприятия".

Хотя, каждый может изобретать какие угодно схемы, никто не мешает.

NT AUTHORITY\SYSTEM - это учётка локальной системы. Как вы будете от неё скрипт запускать, который должен отработать на куче компьютеров домена?

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 08:59, 18-02-2020 | #12


Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Цитата DJ Mogarych:
NT AUTHORITY\SYSTEM - это учётка локальной системы. Как вы будете от неё скрипт запускать, который должен отработать на куче компьютеров домена? »
элементарно:
Цитата Elven:
4. Создать через групповые политики таск запускающийся, ну например через минут десять после включения компьютера (чтобы гарантированно всё нормально запустилось и могло достучаться туда куда нужно). Таск должен запускаться от имени NT AUTHORITY\SYSTEM »
Когда-то большую часть скриптов на такой запуск и перевел, и всё работает как часики - локально эта учетка не уступает по правам ни одному админу, а если нужно чтобы она куда-то логи складывала или наоборот что-то забирала, то здесь работает
Цитата Elven:
2. Дать на эту шару права на запись для Domain Computers »
(если нужно чтение - добавить права на чтение)
Насчет того, что доменным админам нужно ограничивать права на не контроллерах - согласен, это не бестпрактис, и даже в рекомендациях этого не было. Однако если есть десяток админов, каждый из которых имеет учетку и доменного админа и доменную учетку локального админа, то в лучшем случае восемь из них будут ВЕЗДЕ пользоваться только учеткой доменного админа. Я думал что две работы назад решил этот вопрос радикально - отобрал на не контроллерах права админа у domain admins. Но аккурат работу назад напоролся на еще более радикальное решение - доменным администраторам был запрещен логин на не контроллерах. Вот так это работает, хоть и не бестпрактис но жиза.

Отправлено: 09:38, 18-02-2020 | #13


Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6626
Благодарности: 1528

Профиль | Отправить PM | Цитировать


Ну это несколько другой подход, скрипт тогда надо немножко переделать, чтобы каждый комп добавлял свои данные в общую кучу.

А разве у учётки "система" есть сетевой доступ?

Цитата Elven:
отобрал на не контроллерах права админа у domain admins »
Ну если десяток человек имеет права доменного админа - это, конечно, неправильно само по себе. Но тут дело не в самой роли доменного админа, а не совсем правильном её использовании.
В данном случае я бы просто убрал этих людей из доменных админов и сделал бы отдельную группу с правами на локальные компы, куда их и включил бы.

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 09:51, 18-02-2020 | #14


Аватара для YuS_2

Crazy


Contributor


Сообщения: 1218
Благодарности: 509

Профиль | Отправить PM | Цитировать


Цитата DJ Mogarych:
А разве у учётки "система" есть сетевой доступ? »
Цитата:
По умолчанию СИСТЕМной учетной записи предоставлены разрешения на полный доступ ко всем файлам на томе NTFS. Здесь у учетной записи SYSTEM есть те же функциональные права и разрешения, что и для учетной записи администратора.
Это можно проверить:
Код: Выделить весь код
# Создание простой задачи, исполняемой от имени СИСТЕМА
$a = new-scheduledtaskaction -execute "powershell.exe" -argument {-exe bypass -f "d:\get-curuser.ps1"}
$t = new-scheduledtasktrigger -once -at (get-date)
$p = new-scheduledtaskprincipal "System"
$s = new-scheduledtasksettingsset
$task = new-scheduledtask -action $a -principal $p -trigger $t -settings $s
register-scheduledtask -taskname 'Run_PS_System' -taskpath '\' -inputobject $task
в аргументы можно записать что угодно для проверки, здесь записан запуск скрипта с диска d:\

-------
scio me nihil scire. Ѫ


Отправлено: 11:02, 18-02-2020 | #15


Аватара для Charg

Ветеран


Сообщения: 2798
Благодарности: 469

Профиль | Отправить PM | Цитировать


YuS_2, речь о сетевом доступе шла. Учётка "система" же локальная для компьютера, она не сможет (насколько я знаю) пойти и взять файл с \\другойкомпьютер\шара
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:43, 18-02-2020 | #16


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Charg, она не "локальная для компьютера", она учётка компьютера - почти такой же доменный пользователь, как и "человеческие пользователи".

Цитата Charg:
она не сможет (насколько я знаю) пойти и взять файл с \\другойкомпьютер\шара »
значит, вы вообще не знаете как AD работает
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:15, 18-02-2020 | #17


Аватара для Charg

Ветеран


Сообщения: 2798
Благодарности: 469

Профиль | Отправить PM | Цитировать


Цитата Busla:
она не "локальная для компьютера", она учётка компьютера »
Этого не знал.
Цитата Busla:
значит, вы вообще не знаете как AD работает »
Выходит да, пойду завтра искать вакансию дворника.

Отправлено: 12:32, 18-02-2020 | #18


Аватара для Elven

Ветеран


Сообщения: 992
Благодарности: 268

Профиль | Сайт | Отправить PM | Цитировать


Charg, как-нибудь можете полюбопытствовать от чьего имени происходит установка софта при раздаче оного групповыми политиками, заодно имеет смысл посмотреть почему сие не работает, если папка из которой берется софт, не имеет разрешения на чтение для Domain Computers. А еще (и это мое любимое) от чъего имени вообще читаются политики применяющиеся на компьютеры. Коллега Busla правильно говорит, NT AUTHORITY\SYSTEM - по сути учетка компьютера, она имеет те права, что определены для него.
Busla, не будьте так критичны, я догадываюсь откуда растут ноги у заблуждения Charg. В этом определенно виноваты MS ибо именно им в голову пришло наплодить такое количество учеток. Полагаю Charg рассуждает о другой встроенной учетной записи - Local Service. тык
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:44, 18-02-2020 | #19


Аватара для Charg

Ветеран


Сообщения: 2798
Благодарности: 469

Профиль | Отправить PM | Цитировать


Цитата Elven:
Полагаю Charg рассуждает о другой встроенной учетной записи - Local Service. »
Да нет, я действительно не сопоставлял учётку SYSTEM c учёткой компьютера. Не знаю почему, не задумывался никогда а само в голову не приходило.
Я думал что SYSTEM это нечто вроде root - учётка операционки с правами на всё (ну, почти) но только локально. Собственно нигде никогда об этом не читал и не интересовался подробностями.

Цитата Elven:
А еще (и это мое любимое) от чъего имени вообще читаются политики применяющиеся на компьютеры. »
Раз уж вопрос судя по всему с подвохом - видимо не от имени учётки компьютера?

Отправлено: 13:20, 18-02-2020 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Узнать список доменных пользователей с админскими правами

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2012 - Запуск bat через групповые политики с админскими правами anhol Windows Server 2012/2012 R2 10 03-04-2015 09:43
Создание локального пользователя с админскими правами через контроллер домена R.i.m.s.k.y. Microsoft Windows NT/2000/2003 5 14-10-2014 21:27
2008 - Помогите разобратся с админскими правами в Win 2008 mr.R Windows Server 2008/2008 R2 1 26-09-2009 13:06
Citrix Program Neighborhood подключается только с админскими правами monartoi Microsoft Windows NT/2000/2003 3 27-08-2009 10:54
Ошибка - [решено] Проблема с админскими правами SSvetofor Microsoft Windows 2000/XP 2 29-01-2008 09:22




 
Переход