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

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

Окружающая среда детали:

  • Несколько контроллеров домена под управлением Windows Server 2003 и 2008 R2.
  • Несколько доменов, с доверительными отношениями между доменами.
  • Выполнение запросов AD с компьютера под управлением Windows Server 2008 R2.
  • Учетная запись, запрашивающая AD, является "локальной учетной записью администратора, члена домена, с правами администратора на этом сервере".
  • Нам сообщили, что некоторые машины "являются членами группы через доверительные отношения".

Наша текущая испытательная группа "Группа-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

2 ответа

Решение

Запрашиваемый вами объект выглядит так, как будто он существует в другом домене. Когда вы запускаете 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

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

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

dsget computer "CN=FOO10,OU=Domain Controllers,DC=activedirdev,DC=widgetco,DC=com" -samid
Другие вопросы по тегам