IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Imbriquer Tableau dans un objet Powershell [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2014
    Messages : 2
    Par défaut Imbriquer Tableau dans un objet Powershell
    Bonjour à tous,

    Je suis à mes débuts de scripting en powershell et je tombe sur un os.

    Dans un premier temps, je récupère des noms d'utilisateurs faisant partie d'un domaine AD et je récupère l'OU dont chaque utilisateur fait parti.

    Dans un second temps, je construis un tableau et le rempli avec une liste de nom de groupe d'utilisateur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $recupgroupe = Get-ADUser $nomuser -Properties Memberof| %{$_.memberof}
            $nomgroupe=@()
            foreach ($i in $recupgroupe){
                $tabgroupe=$i.split(",")
                $nomgroupe+= $tabgroupe[0].split("=")[1]
            }
    Ce qui donne comme résultat pour $nomuser=Administrateur :

    Propriétaires créateurs de la stratégie de groupe
    Admins du domaine
    Administrateurs de l'entreprise
    Administrateurs du schéma
    Administrateurs
    La finalité de mon script étant d'obtenir un affichage comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    NOM                    OU                      GROUPE
    -------------         ----------           ------------
    Adminisrateur         Users                   Propriétaires créateurs de la stratégie de groupe
                                                         Admins du domaine
                                                         Administrateurs de l'entreprise
                                                         Administrateurs du schéma
                                                         Administrateurs
    Mais voilà lorsque je créé l'objet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $properties = @{'Nom' = $nomuser;'OU' = $unit;'Groupe' =  $nomgroupe}
    $object = New-Object -TypeName PSObject -Prop $properties
    Write-output $object | format-table -autosize
    J'obtient le résulat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Groupe                                                                                          OU    Nom
    ------                                                                                           --      ---
    {Propriétaires créateurs de la stratégie de groupe, Admins du domaine,...} Users Administrateur
    La colonne "Groupe" ne ressemble pas au résultat attendu.
    Je pense que cela vient du fait que je j’insère un tableau dans un tableau lorsque je déclare ma variable $properties=@{'Nom' = $nomuser;'OU' = $unit;'Groupe' = $nomgroupe}Est ce bien ça le problème ?
    Merci d'avance !

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par RTX85 Voir le message
    La colonne "Groupe" ne ressemble pas au résultat attendu.
    C'est normal, c'est l'affichage par défaut des propriétés de type collection.
    On peut tricher en modifiant le type de la colonne 'Groupe' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    $nomgroupe=@('Admins du domaine',"Administrateurs de l'entreprise",'Administrateurs du schéma')
    $properties = @{'Nom' = 'nomuser';'OU' = 'unit';'Groupe' =  $nomgroupe}
    $object = New-Object -TypeName PSObject -Prop $properties
    $objects = 1..5|% {New-Object -TypeName PSObject -Prop $properties}
    
     #Help about_Automatic_Variables
    $ofs="`r`n"
    
     #Transforme la collection en une chaîne de caractères
    $object| 
      Ft nom,OU,@{N='Groupe';E={"$($_.Groupe)"}} -AutoSize -Wrap
    
    $objects| 
      Ft nom,OU,@{N='Groupe';E={"$($_.Groupe)"}} -AutoSize -Wrap
    Affichera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Nom     OU   Groupe
    ---     --   ------
    nomuser unit Admins du domaine
                 Administrateurs de l'entreprise
                 Administrateurs du schéma

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Mars 2014
    Messages : 2
    Par défaut
    Merci Laurent Dardenne ça fonctionne à la perfection !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. un tableau dans un objet
    Par badibad dans le forum Langage
    Réponses: 5
    Dernier message: 18/06/2013, 10h36
  2. Affichage résultats tableau dans un objet
    Par neoboy dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 11/04/2010, 21h13
  3. Tableau dans un objet
    Par sokai dans le forum C#
    Réponses: 4
    Dernier message: 30/10/2008, 14h02
  4. Tableau dans un objet
    Par sokai dans le forum C#
    Réponses: 0
    Dernier message: 30/10/2008, 10h54
  5. Accès à un tableau dans un objet.
    Par psic dans le forum Langage
    Réponses: 9
    Dernier message: 28/08/2008, 14h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo