Мне часто приходиться искать множество групп по шаблону. Реализация данной функции в консоли AD меня расстроила и поэтому я держу открытой консоль.
Суть такова, я подключаюсь к серверу, на котором установлен модуль ActiveDirectory. и в цикле запрашиваю с консоли ввод шаблона и выдаю результаты по нему.
1 2 3 |
$domainController = "AD1.test.local" invoke-command -computername $domainController -scriptblock { Import-Module ActiveDirectory; $str=""; While ($str -ne "exit") {if ($str -ne "" ){get-adgroup -filter 'SamAccountName -like $str' |ft DistinguishedName}; $str = Read-Host "Введите шаблон группы";}} |
Немного описания данного скрипта:
1 |
$domainController = "AD1.test.local" |
Здесь задаётся имя сервера с установленным модулем ActiveDirectory. В моём случае это сервер «AD1» в домене «test.local». (что уж там таить контроллер домена).
1 |
invoke-command -computername $domainController -scriptblock {..} |
Подключаемся к серверу и выполняем на нём scriptblock который находится в фигурных скобочках : {}
А скрипт вот такой:
1 2 3 4 5 6 7 8 9 |
Import-Module ActiveDirectory; $str=""; While ($str -ne "exit") { if ($str -ne "" ){ get-adgroup -filter 'SamAccountName -like $str' |ft DistinguishedName }; $str = Read-Host "Введите шаблон группы"; } |
1 |
Import-Module ActiveDirectory; |
Загружаем модуль Active Directory;
1 |
$str=""; |
Объявляем пустую текстовую переменную.
1 |
While ($str -ne "exit") {...} |
Дальше запускаем цикл он будет идти, пока переменная $str не будет равняться «exit» (тк. эта переменная будет брать значение из консоли то если написать в консоли слово exit то скрипт завершится)
1 |
if ($str -ne "" ){...} |
Если строка не пустая, то пытаемся найти группу
1 |
get-adgroup -filter 'SamAccountName -like $str' |
соответственно передаём по контейнеру группы которые удовлетворяют шаблону,
1 |
ft DistinguishedName |
Выводим табличкой одно поле DistinguishedName получается просто список групп без лишних буковок в начале,как например при fl.
1 |
$str = Read-Host "Введите шаблон группы"; |
запрашиваем с консоли ввести группу.
Комментарии: