PDA

Показать полную графическую версию : Поиск групп AD начинающихся на ...


SkyNezu
24-02-2015, 09:17
Добрый день.
Дано: Active Directory с огромным количеством пользователей и групп.
Необходимо:
1. Найти все группы в АД, начинающиеся на "CP-AUF".
2. Выгрузить список пользователей из этих групп (с полями: ФИО, имя в домене, организация).

Кто может помочь с п.1? Не могу догнать как это сделать.

Kazun
24-02-2015, 09:36
PowerShell + модуль Active Directory:
Get-ADGroup -Filter {Name -like "CP-AUF*"} | Get-ADGroupMember -Recursive | Get-ADUser -Properties displayname,organization | Select Name,DisplayName,Organization

SkyNezu
24-02-2015, 12:47
Спасибо большое, то что было нужно. А можете подсказать, если необходимо искать не во всем домене, а толко в определенном контейнере?

Kazun
24-02-2015, 13:28
Get-ADGroup -Filter {Name -like "CP-AUF*"} -SearchBase "OU=MyGroups,DC=Contoso,DC=Com"

SkyNezu
24-02-2015, 13:38
Спасибо, разобрался.

При попытке выгрузить в 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
Так и не понял как автор решил проблему. Это ведь ваш ответ оказался правильным? Не подтолкнете и меня к тому что нужно сделать?

Kazun
24-02-2015, 13:59
Команда возвращает данные?
Get-ADGroup -Filter {Name -like "CP-AUF*"} -SearchBase "OU=MyGroups,DC=Contoso,DC=Com" -ResultPageSize 10

SkyNezu
24-02-2015, 14:40
Долго делал запрос в этот раз и все равно вывел ошибку. Только в первый раз он вывел >3k записей в csv, а сейчас >17k записей.

Kazun
24-02-2015, 14:52
Тогда, пробовать 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
25-02-2015, 06:26
Честно говоря не совсем догнал как его использовать

Kazun
25-02-2015, 15:49
Результат находится в перменной $Results , сам код можно копировать прямо в консоль с требуемыми изменениями OU.




© OSzone.net 2001-2012