Назад | Перейти на главную страницу

Запрос Active Directory в PowerShell с узла Windows, который не является членом домена

Как я могу использовать PowerShell [adsisearcher] чтобы запросить домен, которым я являюсь не членом? Обычно я делаю что-то вроде этого:

$myAdsi = [adsisearcher]""
$myAdsi.SearchRoot = [adsi]"LDAP://dc=corp,dc=mycompany,dc=com"
$myAdsi.Filter = "objectCategory=computer"

$res = $myAdsi.FindAll()

Если я запустил этот фрагмент на хосте в моем домене, я получу ожидаемый результат. Однако, если я запускаю это с компьютера, имеющего сетевой доступ к домену (через L2L VPN), я получаю сообщение об ошибке:

Exception calling "FindAll" with "0" argument(s): "The specified domain either does not exist or could not be contacted.
"
At line:11 char:33
+ $adComputers = $searcher.FindAll <<<< ()
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException

Это несколько ожидаемо, поскольку я не предоставил никаких учетных данных для [adsisearcher] это скажет ему, как аутентифицироваться. Мой вопрос: как мне позволить [adsisearcher] знаете, что я хочу пройти аутентификацию в домене, членом которого я не являюсь?

Отредактировал мой последний ответ. Извини, что мне потребовалось время, чтобы ответить тебе. Следующее беззастенчиво скопировано с http://powershell.com/cs/blogs/ebookv2/archive/2012/03/26/chapter-19-user-management.aspx :

[ADSI] - это ярлык для типа DirectoryServices.DirectoryEntry .NET. Вот почему вы также могли настроить предыдущее соединение таким образом:

$domain = [DirectoryServices.DirectoryEntry]""
$domain
distinguishedName
-----------------
{DC=scriptinternals,DC=technet}

Итак, попробуйте это, чтобы предоставить учетные данные другому домену:

$domain = new-object DirectoryServices.DirectoryEntry("LDAP://10.10.10.1","domain\user", "secret")
$domain.name
scriptinternals
$domain.distinguishedName
DC=scriptinternals,DC=technet

Вы правы, это проблема аутентификации, хотя я бы хотел, чтобы сообщение об ошибке было более точным, чтобы отразить это. Это должно вам помочь.