Показать полную графическую версию : Поиск групп AD начинающихся на ...
Добрый день.
Дано: Active Directory с огромным количеством пользователей и групп.
Необходимо:
1. Найти все группы в АД, начинающиеся на "CP-AUF".
2. Выгрузить список пользователей из этих групп (с полями: ФИО, имя в домене, организация).
Кто может помочь с п.1? Не могу догнать как это сделать.
PowerShell + модуль Active Directory:
Get-ADGroup -Filter {Name -like "CP-AUF*"} | Get-ADGroupMember -Recursive | Get-ADUser -Properties displayname,organization | Select Name,DisplayName,Organization
Спасибо большое, то что было нужно. А можете подсказать, если необходимо искать не во всем домене, а толко в определенном контейнере?
Get-ADGroup -Filter {Name -like "CP-AUF*"} -SearchBase "OU=MyGroups,DC=Contoso,DC=Com"
Спасибо, разобрался.
При попытке выгрузить в 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/Forums/ru-RU/0138e358-c0f7-4b0c-a7dc-1a1f0064f8b5/powershell-ad?forum=scrlangru
Так и не понял как автор решил проблему. Это ведь ваш ответ оказался правильным? Не подтолкнете и меня к тому что нужно сделать?
Команда возвращает данные?
Get-ADGroup -Filter {Name -like "CP-AUF*"} -SearchBase "OU=MyGroups,DC=Contoso,DC=Com" -ResultPageSize 10
Долго делал запрос в этот раз и все равно вывел ошибку. Только в первый раз он вывел >3k записей в csv, а сейчас >17k записей.
Тогда, пробовать 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()
Честно говоря не совсем догнал как его использовать
Результат находится в перменной $Results , сам код можно копировать прямо в консоль с требуемыми изменениями OU.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.