Recherche d'ADSI à l'aide de PowerShell
Bonjour. J'ai essayé de mettre en place quelque chose de allumé et éteint pendant des jours (cela devrait être) simple en utilisant PS, mais je n'ai pas encore réussi à tout comprendre. J'essaie de rechercher et de récupérer des informations d'ADSI à l'aide de PS. Lorsque j'utilise ce qui suit dans la console PS:
Get-ADObject "CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com" -Properties *
Il renvoie les propriétés de l'objet auxquelles des valeurs leur sont assignées (ce qui est correct) pour que cela fonctionne. Mais, ce dont j'ai besoin, ce sont des enfants de l'objet AD, alors j'essaie d'ajouter Champ de recherche:
Get-ADObject "CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com" -SearchScope OneLevel -Properties *
Et je reçois un message d'erreur signalant:
A positional parameter cannot be found that accepts argument "CN=OID,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com"
J'ai donc essayé une approche différente:
[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 $_
}
Ce qui précède renvoie le Distinguishedname des enfants, mais comment puis-je récupérer des propriétés supplémentaires des enfants, telles que DisplayName, Nom et lorsquecréé . Si je peux l'obtenir, je peux travailler à tout mettre dans un tableau qui peut être exporté vers un fichier CSV ou quelque chose comme ça. Dois-je utiliser quelque chose comme LDAP à la place?