Назад | Перейти на главную страницу

Неполные результаты при запросе Active Directory для членов группы в ситуации с доверительными отношениями

Мы пытаемся запросить в Active Directory список всех компьютеров, которые являются членами группы, а также такую ​​информацию, как атрибуты операционной системы. Мы не можем получить результаты для каждого члена группы.

Детали окружающей среды:

В нашей нынешней испытательной группе «Группа-99» есть две машины: FOO10 и FOO11.

Когда мы запрашиваем членов группы, мы получаем ожидаемый результат, список всех машин в группе:

PS > dsquery group -name "Group-99" | dsget group -members

"CN=FOO10,OU=Domain Controllers,DC=activedirdev,DC=widgetco,DC=com"
"CN=FOO11,OU=Portland,OU=Domain Controllers,DC=activedirdev,DC=widgetco,DC=com"

Затем мы запрашиваем DNSHostName и OperatingSystem, но можем получить результаты только для одной из двух машин:

PS > dsquery * -filter "(&(objectClass=Computer)(objectCategory=Computer)(sAMAccountName=FOO11$))" -attr sAMAccountName operatingSystem
sAMAccountName    operatingSystem
FOO11$            Windows Server 2008 R2 Standard

PS > dsquery * -filter "(&(objectClass=Computer)(objectCategory=Computer)(sAMAccountName=FOO10$))" -attr sAMAccountName operatingSystem
PS >

Никто из нас не является мастером Active Directory, поэтому мы не уверены, в чем проблема. Изменение настроек Active Directory невозможно.

Можете ли вы помочь нам выяснить, как получить нужную нам информацию, и можно ли ее получить?

Последующее уточнение: наш идеальный результат - это способ выполнить один запрос, который вернет результаты для всех членов группы, независимо от того, в каком домене они находятся. Что-то вроде:

PS > dsquery (stuff)
CN        operatingSystem
FOO10     Windows Server 2008 R2 Standard
FOO11     Windows Server 2003

Как уже отмечалось HopelessN00b, имея commonName FOO10 не обязательно означает, что sAMAccountName FOO10$ (хотя очень вероятно).

Чтобы выяснить, так ли это, получить объект напрямую, а не искать его:

dsget computer "CN=FOO10,OU=Domain Controllers,DC=activedirdev,DC=widgetco,DC=com" -samid

Запрашиваемый объект выглядит так, как будто он существует в другом домене. Когда вы запускаете DSQuery без указания сервера или домена, с которым хотите связаться, вы автоматически привяжетесь к домену, в который вы вошли. Этот объект может находиться в другом домене.

Чтобы получить недостающий предмет, попробуйте

dsquery * -filter "(&(objectClass=Computer)(objectCategory=Computer)(sAMAccountName=FOO10$))" -attr sAMAccountName operatingSystem -d activedirdev.widgetco.com

Ссылка: http://technet.microsoft.com/en-us/library/cc754232.aspx