Exemple
Le cmdlet New-Object
est utilisé pour créer un objet.
# Create a DateTime object and stores the object in variable "$var"$var = New-Object System.DateTime# calling constructor with parameters$sr = New-Object System.IO.StreamReader -ArgumentList "file path"
Dans de nombreux cas, un nouvel objet sera créé afin d’exporter des données ou de les passer à un autre commandlet. Cela peut être fait comme suit :
$newObject = New-Object -TypeName PSObject -Property @{ ComputerName = "SERVER1" Role = "Interface" Environment = "Production"}
Il existe de nombreuses façons de créer un objet. La méthode suivante est probablement la plus courte et la plus rapide pour créer un PSCustomObject
:
$newObject = @{ ComputerName = 'SERVER1' Role = 'Interface' Environment = 'Production'}
Dans le cas où vous avez déjà un objet, mais que vous avez seulement besoin d’une ou deux propriétés supplémentaires, vous pouvez simplement ajouter cette propriété en utilisant Select-Object
:
Get-ChildItem | Select-Object FullName, Name, @{Name='DateTime'; Expression={Get-Date}}, @{Name='PropertieName'; Expression={'CustomValue'}}
Tous les objets peuvent être stockés dans des variables ou passés dans le pipeline. Vous pourriez également ajouter ces objets à une collection et afficher les résultats à la fin.
Les collections d’objets fonctionnent bien avec Export-CSV (et Import-CSV). Chaque ligne du CSV est un objet, chaque colonne une propriété.
Les commandes de formatage convertissent les objets en flux de texte pour l’affichage. Évitez d’utiliser les commandes Format-* jusqu’à l’étape finale de tout traitement de données, afin de maintenir la convivialité des objets.