Bom Dia. Eu tenho tentado juntar algo por dias (que deveria ser) simples usando o PS, mas ainda não consegui descobrir tudo. Eu estou tentando pesquisar e recuperar informações do ADSI usando PS. Quando uso o seguinte no console do PS:
Get-ADObject "CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com" -Properties *
Ele retorna as propriedades do objeto que possuem valores atribuídos a elas (o que é correto) para que funcione. Mas, o que eu preciso são filhos do objeto AD, então eu tento adicionar SearchScope :
Get-ADObject "CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com" -SearchScope OneLevel -Properties *
E recebo um relatório de mensagens de erro:
A positional parameter cannot be found that accepts argument "CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com"
Então, tentei uma abordagem diferente:
[string]$strCrLf = "`r`n"
[string]$strDoubleQuote = '"'
$ChildObjects = @()
$ParentObject = ([ADSI]"LDAP://CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com")
ForEach ($Child in $ParentObject.psBase.Children)
{
$ChildObjects += @("([ADSI]" + $strDoubleQuote + $Child.Path + $strDoubleQuote + ").distinguishedName" + $strCrLf)
}
$ChildObjects | ForEach-Object {
Invoke-Expression $_
}
O acima, retorna o nome distinto das crianças, mas como recuperar propriedades adicionais das crianças, como Mostrar nome , Nome e quandoCriado . Se eu conseguir isso, posso trabalhar em colocar tudo em uma matriz que pode ser exportada para um arquivo CSV ou algo assim. Eu preciso usar algo como o LDAP?
fonte
-Filter
antes da string de entrada no seu segundo exemplo? Você não deveria precisar, mas vale a pena tentar se você está recebendo um erro de parâmetro posicional. Além disso, você não iria quererSubtree
ao invés deOneLevel
como um valor para oSearchScope
parâmetro para solicitar todas as crianças?-Filter
mas teve o mesmo erro. Eu só quero um nível retornado para este, em vez de enumerar a árvore, mas é bom apontar isso.Respostas:
A formatação que você está fazendo no primeiro loop não é realmente necessária. Tente usar o seguinte:
fonte
([ADSI]"LDAP://CN=OID
etc - basta adicionar o LDAP parte). obrigado