Неполные результаты при запросе 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