Question probleme recuperation valeur attribut AD

Plus d'informations
il y a 4 ans 6 mois #29307 par tibo
bonjour,


Je debute sur powershell, je dois recuperer une valeur d'un attribut utilisateur sur l'AD

(maison-PrinterInstallList etant un attribut maison)

Get-ADUser -filter * -properties name, maison-PrinterInstallList | Select-Object Name, @{n='maison-PrinterInstallList';e={'$_.maison-PrinterInstallList' }}| Export-Csv -path d:\script\test.csv

JE n'arrive pas a obtenir le resultat de la valeur de l'attribut \"maison-PrinterInstallList\" par contre pas de soucis pour le name

Resultat :

Name,\"maison-PrinterInstallList\"
baridi,\"$_.maison-PrinterInstallList\"

Par contre en n'utilisant pas de -Export-cvs mais juste un \" >\" vers un fichier cela fonctionne bien , j'obtiens bien la valeur de l'attribut

QQ1 a til une idée ?

merci d'avance a vous tous

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

Plus d'informations
il y a 4 ans 6 mois #29308 par Laurent Dardenne
salut,
essaie ceci:
[code:1]
@{n='maison-PrinterInstallList';e={$_.'maison-PrinterInstallList'}}
[/code:1]
Tu dois récupérer la valeur d'une propriété d'objet ( $_ ) et c'est Powershell qui le transformera en chaîne si besoin.
La clé de hashtable 'e' exécute du code et renvoi le résultat, avec ton approche celle-ci renvoi une string et pas la valeur de la propriété d'objet:
[code:1]
$ScriptBlock={'$_.maison-PrinterInstallList'}
&$ScriptBlock
#$_.maison-PrinterInstallList


$o=1|select 'maison-PrinterInstallList'
$o.'maison-PrinterInstallList'='Une valeur'

#Le groupement sur une ligne est nécessaire ici, car on référence $_
$_=$o;$ScriptBlock={$_.'maison-PrinterInstallList'};&$ScriptBlock
#Une valeur

[/code:1]

Tutoriels PowerShell

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

Plus d'informations
il y a 4 ans 6 mois #29309 par tibo
Merci beaucoup je vais tester

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

Plus d'informations
il y a 4 ans 5 mois #29357 par tibo
Merci ca fonctionne nickel,

Get-ADComputer -filter * -properties name, maison-PrinterInstallList | Select-Object Name, @{n='maison-PrinterInstallList';e={$_.'maison-PrinterInstallList'}}| Export-Csv D:\test\$((Get-Date).ToString('dd-MM-yyyy-hh-mm')).csv -NoTypeInformation


Par contre je n'arrive pas effectuer une recherche precise sur l'attribut. La commande ci dessous permet de faire un export complet alors que je souhaite faire une recherche precise .

J'ai bien rajouté la ligne {$_.'maison-PrinterInstallList' -like \"serveur01\"} mais cela ne fonctionne pas, Merci de votre aide


Get-ADUser -filter * -properties name, maison-PrinterInstallList | Select-Object Name, @{n='maison-PrinterInstallList';e={$_.'maison-PrinterInstallList'}}| ? {$_.'maison-PrinterInstallList' -like \"serveur01\"} | Export-Csv D:\test\$((Get-Date).ToString('dd-MM-yyyy-hh-mm')).csv -NoTypeInformation

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

Plus d'informations
il y a 4 ans 5 mois #29365 par Laurent Dardenne
tibo95 écrit:

Par contre je n'arrive pas effectuer une recherche precise sur l'attribut.

Dans ce cas regarde le cmdlet Foreach-Object qui permet de filtrer un ensemble de donner sur une condition. Sino consulte la doc du paramètre -Filter de Get-ADComputer

Tutoriels PowerShell

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

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