Войти

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


Gluteus Maximus
31-08-2015, 00:41
Здравствуйте.
Знакомлюсь с Powershell, нуждаюсь в совете.
Решаю задачу - в AD группа контейнеров, свойства некоторых из них нужно раз в сутки править. Однако корректная динамическая выборка контейнеров для правки возможна только из SQL.
На выходе получаю .txt, где каждая строка - уникальный идентификатор вида {0014F970-LBF2-4F26-AE06-7C84EE53582C} , который совпадает с одним из свойств контейнера.
Далее хочу вывести список контейнеров, где свойство "CN" или "Name" совпадает со строкой из .txt
Делаю так:

$lines = Get-Content D:\example.txt | Select-String "{"
foreach ($line in $lines)
{
Get-ADObject -Filter {cn -Eq $line} -SearchBase "CN=example,CN=Server,DC=test,DC=local" -Properties *
}

Скрипт выполняется, но соответствий не находит. Если подставить строку из .txt руками - работает.
Изучил все возможные справки и ссылки, но что-то упускаю, либо понимаю не так. Когда осознал, что пытаюсь решить проблему бездумным перебором возможных вариантов - обратился к вам.

Gluteus Maximus
03-09-2015, 10:08
Добрый день.
Разобрался. Понимаю, что ничего сложного, но вдруг кому-нибудь пригодится:

$Objects = Import-Csv -Path "D:\example.csv" -delimiter "`t"
Foreach($Object in $Objects)
{
$CN = $Object.CN
$Queue = (Get-ADObject -Filter {cn -eq $CN})
Set-ADObject -Identity $Queue -Description "example"
}




© OSzone.net 2001-2012