8
juin
2011
Lister les ordinateurs d’un domaine AD en powershell
juin
2011
Petit script très basique, pour jouer avec une requête AD très simple …
$filtre = "(objectCategory=Computer)"
$domaine = New-Object System.DirectoryServices.DirectoryEntry
$chercheur = New-Object System.DirectoryServices.DirectorySearcher
$chercheur.SearchRoot = $domaine
$chercheur.PageSize = 1000
$chercheur.Filter = $filtre
# Ajout de la propriété que l'on recherche...
$prop = "name"
foreach ($i in $prop){$chercheur.PropertiesToLoad.Add($i)}
$colResults = $chercheur.FindAll()
foreach ($objResult in $colResults) {
$objItem = $objResult.Properties
# Sortie vers l'écran
write-host $objItem.name
}
$domaine = New-Object System.DirectoryServices.DirectoryEntry
$chercheur = New-Object System.DirectoryServices.DirectorySearcher
$chercheur.SearchRoot = $domaine
$chercheur.PageSize = 1000
$chercheur.Filter = $filtre
# Ajout de la propriété que l'on recherche...
$prop = "name"
foreach ($i in $prop){$chercheur.PropertiesToLoad.Add($i)}
$colResults = $chercheur.FindAll()
foreach ($objResult in $colResults) {
$objItem = $objResult.Properties
# Sortie vers l'écran
write-host $objItem.name
}
L’intérêt de ce mini script réside dans la simplicité de requêtage, $filtre = « (objectCategory=Computer) », qui, associé à la connexion simplifiée à l’AD (remember vbs…) de powershell, donne accès très rapidement aux infos des objets AD.
On pourrait afficher bien plus d’informations en considérant $prop comme une collection de texte, et y rajouter d’autres noms de propriétés.
Je renvoie vers adsiedit pour la litanie des propriétés des objets AD…
@michaël : j’ai hâte de tester ton astuce !
J’ai du 2008 R2 mais l’AD reste 2003 natif (pour le moment)… Merci!
Pour compléter, dès qu’on a un serveur 2008r2 dans le domaine, on peut utiliser Get-ADComputer depuis ce serveur
Il faut juste installer les modules powershell pour active directory (dans les fonctionnalités du serveur)