Question [Résolu] Traitement chaine de caractère

Plus d'informations
il y a 11 ans 8 mois #12502 par Pierre
Bonjour à tous,

je sollicite votre aide pour un petit souci.
Je récupère d'un AD une liste d'utilisateurs de cette façon :
[code:1]Get-QADUser -Enabled -searchroot \"domaine/ou\" | Where {$_.mail -match \"externe\"} | Select company, sn, givenname, mail, department, manager, accountexpires | Sort company | Export-Csv c:\mail_ext.txt -Encoding Unicode[/code:1]

Jusqu'ici tout va bien mais dans la colonne \"manager\" de mon fichier j'obtiens le DN du style CN=jean némar,OU=PROGICIEL,OU=PARIS,DC=domaine que je voudrais remanier pour récupérer uniquement le nom et le prénom du début tout en gardant le reste du fichier intact.

Je n'ai pas trouvé comment modifier le \"manager\" directement dans le \"select\" :
[code:1]Select company, sn, givenname, mail, department, manager.split(\"[=,]\"«»), accountexpires[/code:1]

je me suis alors dirigé vers ça :
[code:1]Import-Csv c:\mail_ext.txt | foreach {$_.manager.split(\"[=,]\"«»)[1]}[/code:1]

Qui me renvoie ma colonne manager modifiée juste comme je le veux mais je ne sais pas comment récupérer le résultat dans un nouveau fichier txt avec mes autres colonnes (company, sn, etc.).

C'est à ce moment que j'implore votre aide car j'enrage d'être coincé là-dessus... Merci par avance!<br><br>Message édité par: Lepiero, à: 9/08/12 17:57

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 8 mois #12503 par Matthew BETTON
Bonsoir,

... j'enrage d'être coincé là-dessus ...

la peur mène à la colère, la colère mène à la haine, la haine... mène à la souffrance.


Un délire à moi ;)

Une solution :

[code:1]Get-QADUser -Enabled -searchroot \&quot;domaine/ou\&quot; | Where {$_.mail -match \&quot;externe\&quot;} | Select company, sn, givenname, mail, department, @{Name=\&quot;manager\&quot;;Expression={$_.manager.split(\&quot;[=,]\&quot;«»)[1]}}, accountexpires | Sort company | Export-Csv c:\mail_ext.txt -Encoding Unicode[/code:1]

Le Select-Object permet d'utiliser une propriété calculée.

Pour comprendre :

[code:1]PS&gt; Get-Help Select-Object -Parameter Property

-Property &lt;Object[]&gt;
Spécifie les propriétés à sélectionner. Les caractères génériques sont autorisés.

La valeur du paramètre Property peut être une nouvelle propriété calculée. Pour créer une propriété calculée, utili
sez une table de hachage. Les clés valides sont :
-- Name (ou Label) &lt;chaîne&gt;
-- Expression &lt;chaîne&gt; ou &lt;bloc de script&gt;

Obligatoire ? false
Position ? 1
Valeur par défaut
Accepter l'entrée de pipeline ? false
Accepter les caractères génériques ? true
[/code:1]

@ +

Matthew

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 8 mois #12504 par Matthew BETTON
Un ajout... Au sujet du Export-Csv, utilises le paramètre '-NoTypeInformation' qui permet d'omettre les informations de type du fichier CSV.

[code:1]PS&gt;Get-Help Export-Csv -parameter NoTypeInformation

-NoTypeInformation [&lt;SwitchParameter&gt;]
Omet les informations de type du fichier CSV. Par défaut, la première ligne du fichier CSV contient « #TYPE », suiv
i du nom complet du type d'objet .NET Framework.

Obligatoire ? false
Position ? named
Valeur par défaut
Accepter l'entrée de pipeline ? false
Accepter les caractères génériques ? false
[/code:1]

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 8 mois #12505 par Pierre
Réponse de Pierre sur le sujet Re:Traitement chaine de caractère
Je savais bien que c'était simple (enfin ça dépend pour qui!).

Tu es mon sauveur et du coup je suis beaucoup moins enragé (et donc je souffre moins ;-).

Et ce petit truc que je ne connaissais pas va me resservir pour plein d'autres scripts, c'est génial! :woohoo:

Merci aussi pour le -NoTypeInformation... je l'avais oublié!

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.071 secondes
Propulsé par Kunena