Consultando o Active Directory no PowerShell de um host do Windows que não é membro do domínio

4

Como posso usar o PowerShell [adsisearcher] para consultar um domínio do qual não sou ? Normalmente eu farei algo assim:

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

$res = $myAdsi.FindAll()

Se eu executar este snippet em um host no meu domínio, obtenho o resultado esperado. No entanto, se eu executar isso de um computador que tenha acesso de rede ao domínio (por meio de uma VPN L2L), recebo o erro:

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

Isso é esperado, já que não forneci nenhum tipo de credencial para [adsisearcher] que informaria como autenticar. Minha pergunta é: como faço para deixar [adsisearcher] saber que quero autenticar em um domínio no qual não sou membro?

    
por tacos_tacos_tacos 17.06.2012 / 01:51

1 resposta

4

Editou minha última resposta. Desculpe, demorei um pouco para voltar para você. O texto a seguir foi descaradamente copiado do link :

[ADSI] é um atalho para o tipo .NET DirectoryServices.DirectoryEntry. É por isso que você também poderia ter configurado a conexão anterior dessa maneira:

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

Portanto, tente isso para fornecer credenciais para outro domínio:

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

Você está certo, é um problema de autenticação, embora eu deseje que a mensagem de erro seja mais precisa para refletir isso. Isso deve ajudá-lo.

    
por 17.06.2012 / 02:28