none
Выгрузка локальных групп пользователей домена - AD RRS feed

  • Вопрос

  • Здравствуйте!

    Необходимо провести аудит прав локальных пользователей на рабочих станциях домена. Нужно выявить, какой пользователь состоит в какой локальной группе. В итоге необходимо получить типо списка: имя р/с и пользователь\группа.

    Подскажите, как это реализовать?

    14 ноября 2012 г. 10:19

Ответы

  • Создаете bat-файл, в него прописываете указанную Ильей команду, назначаете этот скрипт в качестве Startup: http://technet.microsoft.com/ru-ru/library/cc770556.aspx. В этом случае вам будет выдан список членов локальной группы Администраторы. Соответственно, для каждой группы (Users, Power Users, etc) в скрипт нужно добавлять соответствующую строку.

    Также вы можете воспользоваться вот таким powershell-скриптом:

    $adsi = [ADSI]"WinNT://$env:COMPUTERNAME"
    $adsi.Children | where {$_.SchemaClassName -eq 'user'} | Foreach-Object {
        $groups = $_.Groups() | Foreach-Object {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}
        $_ | Select-Object @{n='UserName';e={$_.Name}},@{n='Groups';e={$groups -join ';'}}
    }
    

    И назначить его выполнение с ключом Out-File: http://technet.microsoft.com/en-us/library/ee176924.aspx

    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий
    Follow us on TwitterFollow MSTechnetForum on Twitter

    Посетите Блог Инженеров
    Доклады на Techdays: http://www.techdays.ru/speaker/Vinokurov_YUrij.html

    15 ноября 2012 г. 7:54

Все ответы

  • Вы можете назначить на доменные компьютеры скрипт, который будет заполняться при запуске системы примерно такого содержания:

    net localgroup administrators > \\server\share\%COMPUTERNAME%.txt

    Если перечислите стандартные группы, то для первоначального аудита этого более чем достаточно.

    Сазонов Илья http://isazonov.wordpress.com/

    14 ноября 2012 г. 13:13
    Модератор
  • Вы можете назначить на доменные компьютеры скрипт, который будет заполняться при запуске системы примерно такого содержания:

    net localgroup administrators > \\server\share\%COMPUTERNAME%.txt

    Если перечислите стандартные группы, то для первоначального аудита этого более чем достаточно.

    Сазонов Илья http://isazonov.wordpress.com/

    А вы можете немного подробнее описать как это реализовать? У меня очень мало опыта со скриптами просто. Спасибо!
    15 ноября 2012 г. 5:51
  • Создаете bat-файл, в него прописываете указанную Ильей команду, назначаете этот скрипт в качестве Startup: http://technet.microsoft.com/ru-ru/library/cc770556.aspx. В этом случае вам будет выдан список членов локальной группы Администраторы. Соответственно, для каждой группы (Users, Power Users, etc) в скрипт нужно добавлять соответствующую строку.

    Также вы можете воспользоваться вот таким powershell-скриптом:

    $adsi = [ADSI]"WinNT://$env:COMPUTERNAME"
    $adsi.Children | where {$_.SchemaClassName -eq 'user'} | Foreach-Object {
        $groups = $_.Groups() | Foreach-Object {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}
        $_ | Select-Object @{n='UserName';e={$_.Name}},@{n='Groups';e={$groups -join ';'}}
    }
    

    И назначить его выполнение с ключом Out-File: http://technet.microsoft.com/en-us/library/ee176924.aspx

    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий
    Follow us on TwitterFollow MSTechnetForum on Twitter

    Посетите Блог Инженеров
    Доклады на Techdays: http://www.techdays.ru/speaker/Vinokurov_YUrij.html

    15 ноября 2012 г. 7:54
  • Создаете bat-файл, в него прописываете указанную Ильей команду, назначаете этот скрипт в качестве Startup: http://technet.microsoft.com/ru-ru/library/cc770556.aspx. В этом случае вам будет выдан список членов локальной группы Администраторы. Соответственно, для каждой группы (Users, Power Users, etc) в скрипт нужно добавлять соответствующую строку.

    Также вы можете воспользоваться вот таким powershell-скриптом:

    $adsi = [ADSI]"WinNT://$env:COMPUTERNAME"
    $adsi.Children | where {$_.SchemaClassName -eq 'user'} | Foreach-Object {
        $groups = $_.Groups() | Foreach-Object {$_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null)}
        $_ | Select-Object @{n='UserName';e={$_.Name}},@{n='Groups';e={$groups -join ';'}}
    }

    И назначить его выполнение с ключом Out-File: http://technet.microsoft.com/en-us/library/ee176924.aspx

    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий
    Follow us on TwitterFollow MSTechnetForum on Twitter

    Посетите Блог Инженеров
    Доклады на Techdays: http://www.techdays.ru/speaker/Vinokurov_YUrij.html

    Спасибо большое за подробный ответ, попробую сделать!
    15 ноября 2012 г. 8:39