Как экспортировать AD список безопасности в Excel

Ре примечания: инфраструктура основные и глобальные серверы каталога: В единственной доменной среде инфраструктура основные и глобальные роли каталога, находящиеся на том же контроллере домена, не являются никаким грандиозным предприятием (потому что ведущее устройство инфраструктуры ничего на самом деле не делает в единственной доменной среде).

Вот статья, которая описывает проблемы, которые могут произойти в многодоменной среде с ведущей ролью инфраструктуры, присвоенной глобальному серверу каталога: http://support.microsoft.com/kb/248047

Эта статья описывает "исключение" к, "не помещают ведущую роль инфраструктуры в глобальное ре" сервера каталога: единственные доменные среды: http://support.microsoft.com/kb/248047

Так, в такой среде, как Вы описываете с единственным доменом и двумя контроллерами домена, отмечающими и как глобальные серверы каталога, не "плохо" и не будет никаких вредных воздействий.

"Чрезмерная пропускная способность" комментарии из книги играет роль, когда Вы смотрите на большую сеть с несколькими физическими местоположениями и рассматриваете "стоимость" глобальной репликации каталога.

Я обычно поощрял бы два контроллера домена на физическое местоположение в минимуме и двух глобальных серверах каталога на физическое местоположение. Однако в меньших организациях экономика часто такова, что Вы добираетесь, чтобы иметь один контроллер домена в "филиале" и поэтому один глобальный сервер каталога. Это менее избыточно, но экономика "риска", связанного с отказом того DC часто, перевешивает стоимость добавления 2-го DC.

3
задан 12 March 2010 в 18:47
2 ответа

CSVDE сделает то, что Вы спрашиваете.

2
ответ дан 3 December 2019 в 06:22
  • 1
    Огромное спасибо! Я попробовал, и это хорошо работает. Я также попробовал AD Проводник v1.3 от Sysinternals, но member' s список не отображен, как я хотел.Спасибо! –  r0ca 12 March 2010 в 19:04
  • 2
    AD Проводник является большим инструментом, но смертельно замедлитесь в больших доменах (по крайней мере по моему опыту), –  squillman 12 March 2010 в 19:44
  • 3
    CSVDE имеет один раздражающий недостаток... Вы получаете поля в любом порядке, они, оказывается, существуют на исходном DC, от которого Вы захватываете их. Для дампа в Excel это - вероятно, не проблема, но я должен был пойти с Powershell для создания дампа, который должен был составить 100% в определенном формате/порядке. –  Ryan Fisher 12 March 2010 в 19:48

Ниже быстрый взлом сценария информации о пользователе, который я использую, чтобы получить пользовательскую информацию через powershell и поместить его в электронную таблицу Excel:

Не я havn't протестировал эти модификации, и им будет нужна некоторая работа, чтобы сделать больше чем одну группу за один раз

#Make ADSI Connection
$Group = [ADSI]"LDAP://<domain>/<ldap_cn_of_group"

#Setup our excel File
$Excel = new-object -comobject Excel.Application
$Workbook = $Excel.workbooks.add()
$Worksheet = $Workbook.worksheets.item(1)

# Setup a counter for our rows(Start at 2 0 wich is cell A2, the header stuff goes at 1,0 which is A1)
$Row = 2

#Create File and Header information
#sc -path ADUIout.txt -value "Group,Membership"
$Worksheet.cells.item(1,1) = "Group"
$Worksheet.cells.item(1,4) = "Group Membership"
#$Excel.visible = $TRUE

    $membership = $null
    foreach ($member in $Group.member)
    {
        $Worksheet.cells.item($Row, 1) = "$Group"
        $Worksheet.cells.item($Row, 2) = "$member"
        $Row++
    }

$Workbook.saveas("H:\ADUI.xls")
$Workbookl.save()
$Excel.quit()

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

#Active Directory User information script

#Make ADSI Connection
$AD_Top = [ADSI]"LDAP://<domain>/<base_LDAP_String>"

#Setup our excel File
$Excel = new-object -comobject Excel.Application
$Workbook = $Excel.workbooks.add()
$Worksheet = $Workbook.worksheets.item(1)

# Setup a counter for our rows(Start at 2 0 wich is cell A2, the header stuff goes at 1,0 which is A1)
$Row = 2

#Create File and Header information
#sc -path ADUIout.txt -value "User Name,Container,Last Logon, Logon Count, Group membership"
$Worksheet.cells.item(1,1) = "User Name"
$Worksheet.cells.item(1,2) = "Container"
$Worksheet.cells.item(1,3) = "Last Logon Count"
$Worksheet.cells.item(1,4) = "Group Membership"
#$Excel.visible = $TRUE
#Create the Header


foreach ($Container in $AD_Top.psBase.children)
{
    if(($Container.psBase.properties.name -notmatch "Computers") -AND ($Container.psBase.properties.name -notmatch "Servers") `
        -AND ($Container.psBase.properties.name -notmatch "Domain Controllers") `
        -AND ($Container.psBase.properties.name -notmatch "EmailDistribution") `
        -AND ($Container.psBase.properties.name -notmatch "Security Groups") `
        -AND ($Container.psBase.properties.name -notmatch "Microsoft Exchange System Objects") `
        -AND ($Container.psBase.properties.name -notmatch "System") `
        -AND ($Container.psBase.properties.name -notmatch "ForeignSecurityPrincipals"))
    {
        $outputCont = $Container.psBase.properties.name
        foreach ($user in $Container.psBase.children)
        {
            $dirSearch = new-object directoryservices.directorysearcher($user)
            $LastLogon = [datetime]::fromfiletime(($DirSearch.findone().properties.lastlogon)[0])
            $Username = $User.cn
            $LogonCount = $User.logoncount
            $membership = $null
            foreach ($group in $user.memberof)
            {
                $membership =  $membership + $group.substring(3).Remove($group.substring(3).indexOf(",")) + "`n"
            }
            #$output =  "$Username,$outputCont,$LastLogon,$logonCount,$membership"
            $Worksheet.cells.item($Row, 1) = "$Username"
            $Worksheet.cells.item($Row, 2) = "$outputCont"
            $Worksheet.cells.item($Row, 3) = $LastLogon
            $Worksheet.cells.item($Row, 4) = $membership
            #ac -path ADUIout.txt -value $output
            $Row++
        }
    }
}
$Workbook.saveas("H:\ADUI.xls")
$Workbookl.save()
$Excel.quit()
2
ответ дан 3 December 2019 в 06:22

Теги

Похожие вопросы