none
Список локальных администраторов RRS feed

  • Вопрос

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

    Есть домен уровня 2012, задача выгрузить список всех локальных администраторов, со всех машин в домене.

    Скрипты пробовал не получилось, как это сделать ? может есть какое ПО ?

    13 сентября 2019 г. 11:07

Ответы

  • Таких скриптов много. У вас возможно WinRM не настроен на машинах.
    13 сентября 2019 г. 11:27
  • Пробовал скрип , но выгрузил всез пользователей компьютера :

    $ExportFile = "C:\temp\remotes.csv"
    $SearchBase = "OU=Серверы,DC=dmosk,DC=local"
    $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


    13 сентября 2019 г. 12:09
  • без включенного winrm находите работающий скрипт и вешаете его в стартап скрипты на пк через gpo с выгрузкой в файл "c:\temp\$env:computername.txt" далее через админшары собираете все такие txt при помощи второго скрипта

    вторая реализация это запуск скрипта из task schedullera от имени системы с записью в шару. на шаре должны быть права на запись для domain computers

    так же есть варианты с SCCM, антивирусали и пр.


    The opinion expressed by me is not an official position of Microsoft

    13 сентября 2019 г. 16:29
    Модератор

Все ответы

  • Таких скриптов много. У вас возможно WinRM не настроен на машинах.
    13 сентября 2019 г. 11:27
  • А без WIN RM , как собрать информацию ?
    13 сентября 2019 г. 11:51
  • А как вы соберете, если он у вас на запросы из вне не отвечает?

    PSEXEC попробуйте.

    13 сентября 2019 г. 12:07
  • Пробовал скрип , но выгрузил всез пользователей компьютера :

    $ExportFile = "C:\temp\remotes.csv"
    $SearchBase = "OU=Серверы,DC=dmosk,DC=local"
    $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


    13 сентября 2019 г. 12:09
  • без включенного winrm находите работающий скрипт и вешаете его в стартап скрипты на пк через gpo с выгрузкой в файл "c:\temp\$env:computername.txt" далее через админшары собираете все такие txt при помощи второго скрипта

    вторая реализация это запуск скрипта из task schedullera от имени системы с записью в шару. на шаре должны быть права на запись для domain computers

    так же есть варианты с SCCM, антивирусали и пр.


    The opinion expressed by me is not an official position of Microsoft

    13 сентября 2019 г. 16:29
    Модератор