3

Active Directory の経験が豊富な人が助けてくれるかもしれません。別のドメインのコンピューターから OS、名前、FQDN などの情報を取得する必要があります。私が何を意味するかを説明します。ルート ドメイン: example.com、2 つのサブドメイン: xxx.example.com と yyy.xxx.example.com があります。

各ドメインには 1 台のコンピューターが含まれます。両方とも 1 つのグループ (groupfoo など) に属し、別の OU にも属している

グループのメンバーに関する情報を取得できます。PowerShell と dsquery を試します。どちらも、グループ内のコンピューターの正しいリストを返します。しかし、PowerShell スクリプトと dsquery を実行している同じドメイン内のコンピューターからしか情報を取得できません。

明確にするために、groupfoo に含まれていないコンピューターがもう 1 台あり、このコンピューターは Active Directory の管理に使用されます。

私が理解しているように、Active Directory には「参照の追跡」などがあります。私はよく読んでいますが、知っているように、Power Shell には「参照の追跡を有効にする」などのオプションがありません。dsquery の場合、再帰リクエスト用のオプション -r が見つかりました。

私がすでに試したこと:

PS> dsquery group -name goupfoo | dsget group -members
"CN=member01,OU=Domain Controllers,DC=xxx,DC=example,DC=com"
"CN=member02,OU=XXX,OU=Domain Controllers,DC=yyy,DC=xxx,DC=example,DC=com"

DC=yyy,DC=xxx,DC=example,DC=com の私のコンピューター CN=member02,OU=XXX,OU=Domain Controllers,DC=yyy,DC=xxx,DC=example,DC= から情報を取得できますコム

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

member01 に対して同じコマンドを実行しても、結果は得られませんでした:

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

dsquery のさまざまなバリエーションを試しました。再帰的に -r キーを試しましたが、うまくいきません。

おそらく重要なことは、「DC = yyy、DC = xxx、DC = example、DC = com」の設定で、「DC = xxx、DC = example、DC = com」が「DC = yyy」の信頼できる親であることがわかりました,DC=xxx,DC=example,DC=com" 親ドメインから同じことをしている情報を取得できますか?

Power Shell Get-ADGroup、Get-ADMember などで取得できるものと同じです。すべてのオプション、資格情報、サーバーなどを使用してみました。常に同じドメイン内の 1 台のコンピューターからのみ情報が返されます。

4

1 に答える 1

0

DirectorySearcherオブジェクトを使ってみてください:

$filter     = "(&(objectCategory=Computer)(sAMAccountName=$computername))"
$properties = 'distinguishedName', 'sAMAccountName', ...

$search = New-Object DirectoryServices.DirectorySearcher
$search.SearchRoot  = New-Object DirectoryServices.DirectoryEntry
$search.Filter      = $filter
$search.SearchScope = 'Subtree'
$search.ReferralChasing = [DirectoryServices.ReferralChasingOption]::All
$properties | % { $search.PropertiesToLoad.Add($_) } | Out-Null

$search.FindAll()

ActiveDirectoryモジュールのコマンドレットが参照の追跡を実際にサポートしているかどうかはわかりません。

于 2014-02-24T18:41:55.170 に答える