Невероятно медленный запуск массива Get-ADUser - можно ли его ускорить? - PullRequest
0 голосов
/ 06 июля 2018

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

Я могу откусывать больше, чем могу пережевать, потому что я все еще довольно новичок в PS, так как мне не нужно часто его использовать.

  Import-Module Activedirectory

              $Data=@(

              Get-ADUser  -filter * -Properties * |  
              Select-Object @{Label = "First Name";Expression = {$_.GivenName}},  
              @{Name = "Last Name";Expression = {$_.Surname}},
              @{name=  "OU";expression={$_.DistinguishedName.split(',')[1].split('=')[1]}},
              @{Name = "Email";Expression = {$_.Mail}},
              @{Name = "Account Status";Expression = {if (($_.Enabled -eq 'TRUE')  ) {'Enabled'} Else {'Disabled'}}},
              @{Name = "Department";Expression = {$_.Department}}

                     )

              $Data | Export-Csv -Path c:\adusers.csv -NoTypeInformation      

Ответы [ 2 ]

0 голосов
/ 12 июля 2018

работает в считанные секунды!

Import-Module Activedirectory

$Data=@(                  
Get-ADUser  -Filter {Enabled -eq $true} -SearchBase “ou=User Accounts,ou=UserAccounts,dc=hiscox,dc=com” -Properties EmailAddress, extensionattribute2 |  
Select-Object @{Label = "First Name";Expression = {$_.GivenName}}, @{Name = "Last Name";Expression = {$_.Surname}}, @{Name = "Email";Expression = {$_.EmailAddress}}, @{Name = "Business Area";Expression = {$_.extensionattribute2}}
        )

$Data | Export-Csv -Path c:\adusers.csv -NoTypeInformation      
0 голосов
/ 06 июля 2018

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

Import-Module Activedirectory

$Data=@()

$Data = Get-ADUser -Filter * -Properties "Mail","Department" | 
    Select-Object @{Label = "First Name";Expression = {$_.GivenName}},  
    @{Name = "Last Name";Expression = {$_.Surname}},
    @{Name=  "OU";expression={$_.DistinguishedName.split(',')[1].split('=')[1]}},
    @{Name = "Email";Expression = {$_.Mail}},
    @{Name = "Account Status";Expression = {if (($_.Enabled -eq 'TRUE')  ) {'Enabled'} Else {'Disabled'}}},
    @{Name = "Department";Expression = {$_.Department}}

$Data | Export-Csv -Path c:\logs\adusers.csv -NoTypeInformation
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...