Мы пытаемся запросить в 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