グループのメンバーであるすべてのマシンのリストと、オペレーティングシステムの属性などの情報について、ActiveDirectoryにクエリを実行しようとしています。グループのすべてのメンバーの結果を取得できるわけではありません。
環境の詳細:
現在のテストグループ「Group-99」には、FOO10とFOO11の2台のマシンがあります。
グループメンバーを照会すると、期待される結果、つまりグループ内のすべてのマシンのリストが表示されます。
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を照会しますが、受信できるのは2台のマシンのうちの1台のみです。
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 >
私たちの誰もがActiveDirectoryウィザードではないので、問題がどこにあるのかわかりません。 ActiveDirectoryの設定を調整することはできません。
必要な情報を取得する方法を理解するのを手伝っていただけますか、それとも取得できるかどうかを教えてください。
フォローアップの説明:私たちの完璧な結果は、グループメンバーがどのドメインにいるかに関係なく、すべてのグループメンバーの結果を返す1つのクエリを発行する方法です。何かのようなもの:
PS > dsquery (stuff)
CN operatingSystem
FOO10 Windows Server 2008 R2 Standard
FOO11 Windows Server 2003
クエリしているオブジェクトは、別のドメインに存在しているように見えます。連絡するサーバーまたはドメインを指定せずに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ですでに述べたように、commonNameがFOO10
であるからといって、必ずしもsAMAccountNameがFOO10$
であるとは限りません(可能性は非常に高いですが)。
これが当てはまるかどうかを確認し、オブジェクトを検索するのではなく、直接取得します。
dsget computer "CN=FOO10,OU=Domain Controllers,DC=activedirdev,DC=widgetco,DC=com" -samid