Parcourir les sujets de publication
Introduction
Il existe une façon d’ajouter des ordinateurs AD à un tableau PowerShell. Un tableau PowerShell est une structure de données qui stocke une collection d’éléments.
Idéalement, lorsque vous exécutez la commande PowerShell Get-ADComputer, le résultat doit être automatiquement stocké dans un tableau. Mais certains administrateurs peuvent rencontrer des problèmes lors de l’utilisation des données en raison de la manière dont le tableau est stocké.
Dans ce guide, je vais simplifier la façon d’ajouter des ordinateurs AD à une baie PowerShell. Je vais montrer différentes manières de manipuler les données dans le tableau. Le guide explique également comment utiliser les ordinateurs AD dans un tableau PowerShell dans une instruction ForEach.
Avant de commencer à manipuler les ordinateurs AD dans un tableau Powershell, vous devez récupérer les ordinateurs. La section suivante montrera comment obtenir des ordinateurs AD à l’aide de la commande PowerShell Get-ADComputer.
Comment obtenir des ordinateurs AD à partir d’Active Directory
Pour obtenir des ordinateurs AD, exécutez la commande ci-dessous :
Get-ADComputer -Filter * -Properties Name | Select-Object Name
La commande renvoie les noms de tous les ordinateurs du domaine.

Reportez-vous au résultat de la commande ci-dessus. J’ai dit plus tôt que lorsque vous récupérez des ordinateurs AD, ils se trouvent déjà dans un tableau PowerShell.
Pour confirmer cela, exécutez la commande ci-dessous :
(Get-ADComputer -Filter * -Properties Name | Select-Object Name).GetType()
Voici le résultat

J’ai simplement enveloppé la commande précédente dans un opérateur () et utilisé le ObtenirType méthode pour déterminer le type d’objet PowerShell renvoyé.
Le résultat confirme que le résultat de la commande Get-ADComputer est un System.array.
Donc, s’il s’agit d’un tableau, pourquoi les gens recherchent-ils toujours “powershell ajouter des ordinateurs publicitaires au tableau” ?
Dans la suite de ce guide, je répondrai à cette question. Y compris comment ajouter des ordinateurs AD à un tableau via une variable. Et comment préparer les données à utiliser dans une instruction ForEach.
PowerShell Ajouter des ordinateurs AD à une baie
Voici différentes manières d’ajouter des ordinateurs AD à une baie :
PowerShell Ajouter des ordinateurs AD à un tableau sans variable
Comme déjà évoqué dans la dernière section, lorsque vous récupérez des ordinateurs à partir d’Active Directory à l’aide de Get-ADComputer, le résultat est déjà dans un tableau.
Je crois que la raison pour laquelle la plupart des gens pensent que ce n’est pas dans un tableau est à cause de la façon dont les données sont présentées.
Revoyons la commande. C’est ici:
Get-ADComputer -Filter * -Properties Name | Select-Object Name
Et le résultat :

Notez que le résultat a un en-tête, appelé Nom. Il s’agit de la propriété d’objet que nous avons renvoyée avec la commande Select-Object.
En soi, ce n’est pas un problème. Mais si vous essayez de l’utiliser dans une instruction ForEach, des erreurs seront renvoyées. Surtout si vous essayez d’utiliser la valeur dans une autre commande PowerShell dans l’instruction ForEach.
Comment renvoyez-vous les valeurs sans l’en-tête de propriété ? Vous pouvez le faire de deux manières.
Un, en modifiant la commande comme indiqué ci-dessous :
(Get-ADComputer -Filter * -Properties Name | Select-Object Name).Name

Remarquez que l’en-tête a disparu !
Une autre façon de supprimer les en-têtes du résultat consiste à utiliser le -Développer la propriété paramètre de Select-Objet.
Get-ADComputer -Filter * -Properties Name | Select-Object -ExpandProperty Name
Voici le résultat avec l’en-tête fait.

PowerShell Ajouter des ordinateurs AD à un tableau avec une variable
Dans les scripts PowerShell, les variables facilitent la gestion des données. En premier lieu, cela réduit la longueur de vos scripts.
Pour ajouter des ordinateurs AD à un tableau PowerShell à l’aide d’une variable, modifiez votre commande comme indiqué ci-dessous :
$ADComputers = Get-ADComputer -Filter * -Properties Name | Select-Object -ExpandProperty Name
La commande ci-dessus semblera ne pas renvoyer de résultat. Pourquoi? Parce que le résultat est maintenant stocké dans le $ADComputers variable!

Pour confirmer que le résultat est enregistré dans $ADComputers variable, exécutez la commande ci-dessous
$ADComputers
Voici votre résultat

Mais les ordinateurs AD sont-ils dans une baie PowerShell ? Découvrons-le avec la commande ci-dessous :
$ADComputers.GetType()
Le résultat montre que les ordinateurs AD sont toujours dans un tableau même s’ils sont stockés dans une variable !

PowerShell Ajouter des ordinateurs AD à un tableau et à l’instruction ForEach
Une instruction PowerShell ForEach vous permet de parcourir une collection d’objets pour effectuer des tâches spécifiques.
Une application pourrait être que vous vouliez mettre à jour la propriété de chaque ordinateur AD que vous avez récupéré avec la commande Get-ADComputer.
Pour cette commande, je suppose que les ordinateurs AD sont stockés dans la variable $ADComputers. Voici comment combiner le résultat des ordinateurs AD de votre tableau avec une instruction ForEach.
ForEach ($ADComputer in $ADComputers) {
}
Conclusion
L’ajout d’ordinateurs AD à une baie PowerShell est aussi simple que de récupérer les ordinateurs à l’aide de Get-ADComputer commande. Ce guide a couvert cela, mais a également montré comment manipuler le résultat pour supprimer les en-têtes. Il a également expliqué comment ajouter les résultats à une variable et utiliser ForEach pour parcourir le résultat.
J’espère que le guide a été utile. Si vous avez des questions ou des commentaires, utilisez le formulaire “Laisser une réponse” à la fin de cette page. Vous pouvez également partager votre expérience de manipulation d’ordinateurs AD dans une baie PowerShell.
Pour en savoir plus sur PowerShell, visitez notre page PowerShell. Mieux encore, pour une liste de tous nos guides PowerShell, recherchez PowerShell (le lien de recherche s’ouvre dans un nouvel onglet de navigateur).
Autres guides utiles
- Script PowerShell pour obtenir les membres du groupe Active Directory
- Powershell Try Catch Enfin et gestion des erreurs
Ressources et références supplémentaires
- Get-ADComputer
- À propos de ForEach