Войти

Показать полную графическую версию : Выгрузка информации о пользователях из определенных OU


Johny_spb
20-03-2019, 20:11
Доброго времени суток!

Подскажите пожалуйста как реализовать выгрузку об учетных записях в AD но не затрагивая 2 OU?

Есть вот такой запрос:
Get-Aduser -Searchbase 'OU=COM,DC=tech,DC=ru' -filter {Enabled -eq "True"} -properties lastlogonDate, displayname, department, manager | sort-object Name | select-object Name,displayname,Manager,department,LastLogonDate | Export-csv -path C:\temp\lastlogon.csv -encoding utf8

Как сделать что бы в результат не попадали некоторые OU размещенные внутри OU=COM . То есть выгрузка проходила полностью за исключение определенных OU?

Kazun
20-03-2019, 23:08
$ouToExclude = @(
'OU=Test1,OU=COM,DC=tech,DC=ru',
'OU=Test2,OU=COM,DC=tech,DC=ru',
'OU=Test3,OU=COM,DC=tech,DC=ru'
)

... | Where-Object {$ouToExclude -notcontains $_.distinguishedName.split(',', 2)[1]} | sort-object Name | ...

Busla
21-03-2019, 11:25
Kazun, представьте, что пользователь находится во вложенной OU:
CN=Иванов,OU=Test1Level2,OU=Test1,OU=COM,DC=tech,DC=ru

Johny_spb, по-хорошему, надо использовать LDAPfilter, а не выкачивать всё для локальной фильтрации

Elven
21-03-2019, 14:09
ну например так, если, конечно, DistinguishedName == CN=displayname,OU=COM,DC=tech,DC=ru
get-aduser -filter * -Properties displayname | foreach {
$synteticDistinguishedName = 'CN=' + $_.displayname + ',OU=COM,DC=tech,DC=ru'
if ($_.DistinguishedName -eq $synteticDistinguishedName) {
echo $_.DistinguishedName
}}




© OSzone.net 2001-2012