Я некоторое время работал со следующим кодом, и он работает, но для его запуска требуются часы. Если я запускаю отдельные команды 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