このコマンドに問題があります:
gc .\domains.txt | Get-ADDomain
名前が示すように、domains.txt にはクエリ対象の Active Directory のリストが含まれています (すべてのドメインが同じフォレスト内にあります)。
Windows 8 マシンで実行すると、すべて正常に動作し、期待どおりの結果が得られます。代わりに、WMF 3.0 を使用する Windows 2008 R2 SP1 メンバー サーバー (DC ではない) では、リストの最初のドメインからのみ結果が得られます。その他:
Get-ADDomain : A referral was returned from the server
リスト内のドメインを次のようにクエリすると:
Get-ADDomain <Domain name here>
それは正常に動作します。
私のワークステーション
Microsoft Windows 8 エンタープライズ (6.2.9200) x64
PS D:\Tools\Powershell> $PSVersionTable
Name Value
---- -----
PSVersion 3.0
WSManStackVersion 3.0
SerializationVersion 1.1.0.1
CLRVersion 4.0.30319.18010
BuildVersion 6.2.9200.16384
PSCompatibleVersions {1.0, 2.0, 3.0}
PSRemotingProtocolVersion 2.2
サーバ
Microsoft Windows Server 2008 R2 標準 SP1 (6.1.7601) x64
PS C:\Tools\Powershell> $PSVersionTable
Name Value
---- -----
WSManStackVersion 3.0
PSCompatibleVersions {1.0, 2.0, 3.0}
SerializationVersion 1.1.0.1
BuildVersion 6.2.9200.16398
PSVersion 3.0
CLRVersion 4.0.30319.269
PSRemotingProtocolVersion 2.2
アップデート
サーバー上で実行する場合:
gc .\domains.txt | %{ Get-ADDomain $_ }
それはうまくいく
痕跡
trace-command -Name ParameterBinding { "DOMAIN_1","DOMAIN_2" | Get-ADDomain } -PSHost
サーバー: http://pastebin.com/sRVJHaCU
ワークステーション: http://pastebin.com/kj3JV6nV
前もって感謝します