none
Локальный администратор RRS feed

  • Вопрос

  • Добрый день!

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

    Если можно по шагам.

    Спасибо

    13 сентября 2012 г. 9:24

Ответы

  • Как его запускать?

    по моей ссылке только функция и пример как к ней обращаться.

    почитайте про powershell, вот например статья про то как запускать:
    http://blog.wadmin.ru/2011/08/powershell-lessons-first-script/

    • Помечено в качестве ответа Rotar MaksimModerator 10 октября 2012 г. 17:59
    13 сентября 2012 г. 11:15
  • function get-localadministrators {
        param ([string]$computername=$env:computername)
        $computername = $computername.toupper()
        $ADMINS = get-wmiobject -computername $computername -query "select * from win32_groupuser where GroupComponent=""Win32_Group.Domain='$computername',Name='administrators'""" | % {$_.partcomponent}
        foreach ($ADMIN in $ADMINS) {
                    $admin = $admin.replace("\\$computername\root\cimv2:Win32_UserAccount.Domain=","") 
                    $admin = $admin.replace("\\$computername\root\cimv2:Win32_Group.Domain=","")
                    $admin = $admin.replace('",Name="',"\")
                    $admin = $admin.REPLACE("""","")
                    $objOutput = New-Object PSObject -Property @{
                        Machinename = $computername
                        Fullname = ($admin)
                        DomainName  =$admin.split("\")[0]
                    }
        $objreport+=@($objoutput)
        }
        return $objreport
    }
    $strCategory = "computer"
    $objDomain = New-Object System.DirectoryServices.DirectoryEntry
    $objSearcher = New-Object System.DirectoryServices.DirectorySearcher
    $objSearcher.SearchRoot = $objDomain
    $objSearcher.Filter = ("(objectCategory=$strCategory)")
    $colProplist = "name"
    foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)}
    $colResults = $objSearcher.FindAll()
    foreach ($objResult in $colResults)
    {$objComputer =  $objResult.Properties
    "-------"
    get-localadministrators ($objComputer.name)
    }

    как то так, шерстит весь домен
    • Предложено в качестве ответа Dmitry Nikitin 13 сентября 2012 г. 17:13
    • Помечено в качестве ответа Rotar MaksimModerator 10 октября 2012 г. 17:59
    13 сентября 2012 г. 10:44

Все ответы

  • опросить все компы, например скриптом.

    если стоит задача отнять и запретить - настроить restricted groups

    13 сентября 2012 г. 9:30
  • Если речь о конкретной машине, то посмотреть членов локальной группы "Администраторы". В домене, кроме Администратора, туда автоматически будут добавлены Администраторы домена.

    Для контроля членства групп в рамках всего домена внимательно посмотрите GPO Restricted Groups.

    13 сентября 2012 г. 9:46
  • Надо проверить все компьютеры
    13 сентября 2012 г. 9:54
  • Скрипт показывает кто админ?

    или делает всех админом?

    Как его запускать?

    13 сентября 2012 г. 10:32
  • function get-localadministrators {
        param ([string]$computername=$env:computername)
        $computername = $computername.toupper()
        $ADMINS = get-wmiobject -computername $computername -query "select * from win32_groupuser where GroupComponent=""Win32_Group.Domain='$computername',Name='administrators'""" | % {$_.partcomponent}
        foreach ($ADMIN in $ADMINS) {
                    $admin = $admin.replace("\\$computername\root\cimv2:Win32_UserAccount.Domain=","") 
                    $admin = $admin.replace("\\$computername\root\cimv2:Win32_Group.Domain=","")
                    $admin = $admin.replace('",Name="',"\")
                    $admin = $admin.REPLACE("""","")
                    $objOutput = New-Object PSObject -Property @{
                        Machinename = $computername
                        Fullname = ($admin)
                        DomainName  =$admin.split("\")[0]
                    }
        $objreport+=@($objoutput)
        }
        return $objreport
    }
    $strCategory = "computer"
    $objDomain = New-Object System.DirectoryServices.DirectoryEntry
    $objSearcher = New-Object System.DirectoryServices.DirectorySearcher
    $objSearcher.SearchRoot = $objDomain
    $objSearcher.Filter = ("(objectCategory=$strCategory)")
    $colProplist = "name"
    foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)}
    $colResults = $objSearcher.FindAll()
    foreach ($objResult in $colResults)
    {$objComputer =  $objResult.Properties
    "-------"
    get-localadministrators ($objComputer.name)
    }

    как то так, шерстит весь домен
    • Предложено в качестве ответа Dmitry Nikitin 13 сентября 2012 г. 17:13
    • Помечено в качестве ответа Rotar MaksimModerator 10 октября 2012 г. 17:59
    13 сентября 2012 г. 10:44
  • Как его запускать?

    по моей ссылке только функция и пример как к ней обращаться.

    почитайте про powershell, вот например статья про то как запускать:
    http://blog.wadmin.ru/2011/08/powershell-lessons-first-script/

    • Помечено в качестве ответа Rotar MaksimModerator 10 октября 2012 г. 17:59
    13 сентября 2012 г. 11:15