Comment ajouter des ordinateurs AD à une baie Powershell

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.

powershell ajouter des adcomputers à l'exemple de tableau
Il n’est PAS recommandé d’exécuter la commande ci-dessus dans un environnement de production. En effet, si vous avez des milliers d’ordinateurs, cela peut prendre trop de temps. Il peut être préférable d’utiliser un filtrage alternatif au lieu d’utiliser *.

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 :

PowerShell Ajouter des ordinateurs AD à un tableau sans variables

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 
PowerShell Ajouter des ordinateurs AD à un tableau sans variables

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

Enregistrer un commentaire

Plus récente Plus ancienne