Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Выгрузка информации о пользователях из определенных OU (http://forum.oszone.net/showthread.php?t=339775)

Johny_spb 20-03-2019 20:11 2864307

Выгрузка информации о пользователях из определенных OU
 
Доброго времени суток!

Подскажите пожалуйста как реализовать выгрузку об учетных записях в 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 2864373

Код:

$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 2864428

Kazun, представьте, что пользователь находится во вложенной OU:
Код:

CN=Иванов,OU=Test1Level2,OU=Test1,OU=COM,DC=tech,DC=ru
Johny_spb, по-хорошему, надо использовать LDAPfilter, а не выкачивать всё для локальной фильтрации

Elven 21-03-2019 14:09 2864457

ну например так, если, конечно, 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
    }}



Время: 20:23.

Время: 20:23.
© OSzone.net 2001-