Любой язык - Поиск групп AD начинающихся на ...

Ответить
Аватара пользователя
SkyNezu

Любой язык - Поиск групп AD начинающихся на ...

Сообщение SkyNezu »

Добрый день.

Дано: Active Directory с огромным количеством пользователей и групп.

Необходимо:

1. Найти все группы в АД, начинающиеся на "CP-AUF".

2. Выгрузить список пользователей из этих групп (с полями: ФИО, имя в домене, организация).



Кто может помочь с п.1? Не могу догнать как это сделать.
Аватара пользователя
SkyNezu

Re: Любой язык - Поиск групп AD начинающихся на ...

Сообщение SkyNezu »

PowerShell + модуль Active Directory:



Код:

Код: Выделить всё

Get-ADGroup -Filter {Name -like "CP-AUF*"} | Get-ADGroupMember -Recursive | Get-ADUser -Properties displayname,organization | Select Name,DisplayName,Organization
Аватара пользователя
SkyNezu

Re: Любой язык - Поиск групп AD начинающихся на ...

Сообщение SkyNezu »

Спасибо большое, то что было нужно. А можете подсказать, если необходимо искать не во всем домене, а толко в определенном контейнере?
Аватара пользователя
SkyNezu

Re: Любой язык - Поиск групп AD начинающихся на ...

Сообщение SkyNezu »

Get-ADGroup -Filter {Name -like "CP-AUF*"} -SearchBase "OU=MyGroups,DC=Contoso,DC=Com"
Аватара пользователя
SkyNezu

Re: Любой язык - Поиск групп AD начинающихся на ...

Сообщение SkyNezu »

Спасибо, разобрался.



При попытке выгрузить в csv выдает ошибку:



Код:

Код: Выделить всё

Get-ADGroup : Сервер вернул следующую ошибку: недопустимый контекст перечисления.
строка:1 знак:12
+ Get-ADGroup <<<< -Filter {Name -like "lol*"} -searchbase "dc=example,dc=com" | Get-ADGroupMember -Recursive | Get-ADUser -Properties displayname,Company | Select Name,DisplayName,Company >>d:\2.csv
    + CategoryInfo : NotSpecified: (:) [Get-ADGroup], ADException
    + FullyQualifiedErrorId : Сервер вернул следующую ошибку: недопустимый контекст перечисления.,Microsoft.ActiveDirectory.Management.Commands.GetADGroup

Нашел вот эту тему -
https://social.technet.microsoft.com...orum=scrlangru


Так и не понял как автор решил проблему. Это ведь ваш ответ оказался правильным? Не подтолкнете и меня к тому что нужно сделать?
Аватара пользователя
Kazun

Re: Любой язык - Поиск групп AD начинающихся на ...

Сообщение Kazun »

Команда возвращает данные?



Код:

Код: Выделить всё

Get-ADGroup -Filter {Name -like "CP-AUF*"} -SearchBase "OU=MyGroups,DC=Contoso,DC=Com" -ResultPageSize 10
Аватара пользователя
SkyNezu

Re: Любой язык - Поиск групп AD начинающихся на ...

Сообщение SkyNezu »

Долго делал запрос в этот раз и все равно вывел ошибку. Только в первый раз он вывел >3k записей в csv, а сейчас >17k записей.
Аватара пользователя
SkyNezu

Re: Любой язык - Поиск групп AD начинающихся на ...

Сообщение SkyNezu »

Тогда, пробовать ADSI:



Код:

Код: Выделить всё

$Searcher = [adsisearcher]"(&(objectClass=group)(name=CF-AUF*))"
$Searcher.PageSize = 200
$Searcher.SearchScope = "subtree"
$Searcher.SearchRoot = [ADSI]"LDAP://OU=MyGroups,DC=Contoso,DC=Com"
$Attributes = "samaccountname"
ForEach($Attribute in $Attributes)
{
     $Searcher.PropertiesToLoad.Add($Attribute) | Out-Null
}
$Results =  $Searcher.FindAll()
Аватара пользователя
SkyNezu

Re: Любой язык - Поиск групп AD начинающихся на ...

Сообщение SkyNezu »

Честно говоря не совсем догнал как его использовать
Аватара пользователя
SkyNezu

Re: Любой язык - Поиск групп AD начинающихся на ...

Сообщение SkyNezu »

Результат находится в перменной $Results , сам код можно копировать прямо в консоль с требуемыми изменениями OU.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»