Powershell - vérifiez que l'objet existe dans AD

j'ai un fichier texte contenant près de 100 serveurs, comment puis-je pousser dans un script et de tester si elles existent dans la PUBLICITÉ? J'ai un simple script ci-dessous:

$serverlist = get-content ServerList.txt
foreach ($server in $serverlist) {
if (Get-ADComputer $serverlist ) {
  Write-Host "#########################"  
  Write-Host "Computer object exists"
  Write-Host "#########################"  
 }
    else {
        Write-Host "#########################"  
        Write-Host "Computer object NOT FOUND"
        Write-Host "#########################"
    }

}
le ci-dessus ne fonctionne pas retourner une erreur:

Get-ADComputer : Impossible de convertir de 'Système.Object[]' type 'de Microsoft.ActiveDirectory.De la gestion.ADComputer " requis par le paramètre 'Identité'. Méthode spécifiée n'est pas prise en charge.

Quelqu'un peut-il expliquer le get-adcomputer seulement permettent à un seul objet? Aussi, si j'ai supprimer le fichier txt et ajouter un serveur indiqué ci-dessous:

if (Get-ADComputer "server name" )

Le ci-dessus ne fournit que des résultats si le serveur existe au sein de l'AD, si le serveur ne prend pas l'erreur est indiqué ci-dessous:

Get-ADComputer : Cannot find an object with identity: 'iuiub' under: 'DC=####,DC=#####,DC=#####'

Merci pour tout insight /aider!

Phil

  • vous pouvez tester le résultat de tout cela : if ( (Get-ADComputer "server1") -eq $null){"not found"} else {"alive"}
  • merci pour le commentaire kayasax, bien que j'ai essayé et cela ne fonctionne pas pour un objet ordinateur qui n'existe pas, il signale une erreur et écrit "vivant", même si elle n'existent pas - je vous remercie pour la réponse 🙂
  • Vous devez utiliser le ErrorAction paramètre pour Get-ADComputer. Vous avez besoin de le faire savoir ce que vous voulez faire si il y a une erreur.
InformationsquelleAutor Richard | 2014-02-03