Невозможно запросить [adsisearcher] для доверенных доменов (PowerShell) - PullRequest
1 голос
/ 21 июля 2011

Я хотел запросить [adsisearcher], чтобы получить информацию о OU для нескольких серверов для серверов в доверенных и недоверенных доменах.

$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

для серверов в доверенных доменах я передаю $ cred = getучетные данные при создании 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

Может кто-нибудь помочь мне разобраться в этом.

Ответы [ 2 ]

1 голос
/ 21 июля 2011

Я не причина, но интерфейс ADSI просто не работает в удаленных сеансах. Я даже не могу получить DN домена компьютера в моем домене. Я могу заставить это работать локально, но не удаленно:

icm { ([adsi]"").distinguishedName }  #works

icm -Session $s -ScriptBlock { ([adsi]"").distinguishedName } #doesn't work
0 голосов
/ 21 июля 2011

Похоже, что есть проблема с вызовом метода FindOne - вы можете узнать больше об объекте $ searcher с этим;

$searcher | gm

метод findOne должен быть там со списком параметров, которые он принимает,

Хотя я только что попробовал его на типе:

[adsisearcher] | gm | sort name

, и нет метода FindOne - вы уверены, что это метод adsisearcher?

...