2011-07-21 35 views
1

[adsisearcher]にクエリを送信して、信頼されていないドメインのサーバー用のいくつかのサーバーのOU情報を取得しました。信頼されたドメイン内のサーバーのための信頼できるドメイン(PowerShell)に対して[adsisearcher]を照会できません

$session = New-PSSession -ComputerName icvmm02 

Invoke-Command -Session $session -ScriptBlock { 
$compname= (Get-WmiObject "Win32_Computersystem" -namespace "root\CIMV2" -computername $comp).name 
$searcher = [adsisearcher]"(&(ObjectCategory=computer)(Name=$compname))" 
$ou= $searcher.FindOne() | Select-Object path 
$serverou = $ou.path 
} 
$adou= (Invoke-Command -Session $session -ScriptBlock { $serverou }) 
Get-PSSession | Remove-PSSession 

のPSSessionを作成しながら、資格情報を取得= $クレドを渡しイム、私は

$compname= (Get-WmiObject "Win32_Computersystem" -namespace "root\CIMV2" -computername $comp).name 
$searcher = [adsisearcher]"(&(ObjectCategory=computer)(Name=$compname))" 
$ou= $searcher.FindOne() | Select-Object path 

を実行したときに

Exception calling "FindOne" with "0" argument(s): "An operations error occurred. 
" 
At line:1 char:27 
+  $ou= $searcher.FindOne <<<<() | Select-Object path 
+ CategoryInfo   : NotSpecified: (:) [], MethodInvocationException 
+ FullyQualifiedErrorId : DotNetMethodException 
$serverou = $ou.path 

ができるので、それは私にエラーを与えますこれを整理する際に助けてください。

答えて

1

私は原因ではありませんが、ADSIインターフェイスはリモートセッションでは機能しません。自分のドメイン内のコンピュータのドメインのDNも取得できません。私は、これはリモートからローカルではなく、実行するために取得することができます:

FindOneメソッドの呼び出しに問題があるよう
icm { ([adsi]"").distinguishedName } #works 

icm -Session $s -ScriptBlock { ([adsi]"").distinguishedName } #doesn't work 
+0

あなたのお返事ありがとうございます@シェイレビのおかげで、他の回避策を教えてください。お返事ありがとうございます – PowerShell

+0

現時点ではありません –

+0

ご返信ありがとうございます、私に役立ついくつかの回避策を見つけたらお知らせください。ありがとう!良い一日! – PowerShell

0

が見える - あなたはこれで$探索オブジェクトについての詳細を調べることができます。

$searcher | gm 

findOneメソッドには、必要なパラメータのリストがあります。

けれども、私はちょうどタイプでそれを試してみた:

[adsisearcher] | gm | sort name 

と全くFindOne方法はありません - あなたはそれがadsisearcherの方法だと確信していますか?

関連する問題