Question
Résultat trop long pour la console
- Malley
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 10
- Remerciements reçus 0
il y a 5 ans 7 mois #27480
par Malley
Réponse de Malley sur le sujet Re:Résultat trop long pour la console
Alors j'avais déjà essayé cela et là j'obtiens ça dans mes colonnes qui devraient avoir les valeures :
Microsoft.ActiveDirectory.Management.ADPropertyValueCollection
???
Microsoft.ActiveDirectory.Management.ADPropertyValueCollection
???
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 5 ans 7 mois #27481
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:Résultat trop long pour la console
Ah ah !!! On tient le coupable !!!
Tu obtiens ce résultat car la propriété ne contient pas une valeur scalaire mais plusieurs résultats (une collection ou tableau).
Pourrais-tu poster ton code pour que l'on puisse t'aider stp ?
Tu obtiens ce résultat car la propriété ne contient pas une valeur scalaire mais plusieurs résultats (une collection ou tableau).
Pourrais-tu poster ton code pour que l'on puisse t'aider stp ?
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Malley
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 10
- Remerciements reçus 0
il y a 5 ans 7 mois #27482
par Malley
Réponse de Malley sur le sujet Re:Résultat trop long pour la console
Oui effectivement, cette valeur d'attribut est une suite de valeure séparées par | ou ,
L'attribut en question est attribut que nous avons créé dans notre Active Directory, il n'est donc pas \"natif\" de Windows et il contient une liste de chemin d'imprimantes réseau à monter pour chaque employés de notre société.
exemple (\\SERVEURIMP\IMPRIMANTE1|\\SERVEURIMP\IMPRIMANTE24|......) donc pour certaines personnes qui n'ont que 1, 2 ou 3 imprimantes, j'obtiens bien ce que je veux mais si un utilisateur possède plus de 4 ou 5 imprimantes (ce qui arrive assez souvent) je suis coincé. Merci pour ton retour. voici le code je pensais que je l'avais mis lors de mon post ?
[code:1]
Import-Module ActiveDirectory
$users = Get-ADUser -filter * -SearchBase \"OU=toto,OU=titi,dc=tutu,dc=fr\" -properties Samaccountname,l0CSysImp2 | where {$_.l0CSysImp2 -ne $null}
#$users |select-object l0CSysImp2,Samaccountname | Export-csv C:\temp\monfichier.csv -delimiter ';'
$users |select-object l0CSysImp2,Samaccountname | Export-csv C:\temp\monfichier.csv -delimiter ';'
[/code:1]
L'attribut en question est attribut que nous avons créé dans notre Active Directory, il n'est donc pas \"natif\" de Windows et il contient une liste de chemin d'imprimantes réseau à monter pour chaque employés de notre société.
exemple (\\SERVEURIMP\IMPRIMANTE1|\\SERVEURIMP\IMPRIMANTE24|......) donc pour certaines personnes qui n'ont que 1, 2 ou 3 imprimantes, j'obtiens bien ce que je veux mais si un utilisateur possède plus de 4 ou 5 imprimantes (ce qui arrive assez souvent) je suis coincé. Merci pour ton retour. voici le code je pensais que je l'avais mis lors de mon post ?
[code:1]
Import-Module ActiveDirectory
$users = Get-ADUser -filter * -SearchBase \"OU=toto,OU=titi,dc=tutu,dc=fr\" -properties Samaccountname,l0CSysImp2 | where {$_.l0CSysImp2 -ne $null}
#$users |select-object l0CSysImp2,Samaccountname | Export-csv C:\temp\monfichier.csv -delimiter ';'
$users |select-object l0CSysImp2,Samaccountname | Export-csv C:\temp\monfichier.csv -delimiter ';'
[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 5 ans 7 mois #27483
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:Résultat trop long pour la console
Ok je comprends mieux à présent.
Nous allons donc devoir faire en sorte de retourner une valeur scalaire au lieu d'un tableau comme c'est le cas actuellement.
Pour se faire on va utiliser une fonctionnalité assez peu connue de Select-Object qui est la forme suivante :
[code:1]
... | Select-Object propriété1, propriétéN, @{name = \"nomDeProprietePersonnalisee\"; expression = { bloc de script } }
[/code:1]
Soit dans le cas présent on va concaténer chaque valeur de notre tableau avec un séparateur pour au final obtenir une chaine simple, comme par exemple :
[code:1]
PS > 'aaa','bbb','ccc' -join ';'
aaa;bbb;ccc
[/code:1]
Soit le code final :
[code:1]
$users | Select-Object Samaccountname, @{name = 'l0CSysImp2'; expression = {$_ -join ';'} } | Export-Csv C:\temp\monfichier.csv -delimiter ';'[/code:1]
Arnaud
Nous allons donc devoir faire en sorte de retourner une valeur scalaire au lieu d'un tableau comme c'est le cas actuellement.
Pour se faire on va utiliser une fonctionnalité assez peu connue de Select-Object qui est la forme suivante :
[code:1]
... | Select-Object propriété1, propriétéN, @{name = \"nomDeProprietePersonnalisee\"; expression = { bloc de script } }
[/code:1]
Soit dans le cas présent on va concaténer chaque valeur de notre tableau avec un séparateur pour au final obtenir une chaine simple, comme par exemple :
[code:1]
PS > 'aaa','bbb','ccc' -join ';'
aaa;bbb;ccc
[/code:1]
Soit le code final :
[code:1]
$users | Select-Object Samaccountname, @{name = 'l0CSysImp2'; expression = {$_ -join ';'} } | Export-Csv C:\temp\monfichier.csv -delimiter ';'[/code:1]
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.065 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Résultat trop long pour la console