Je crée un nouvel objet dans un script Powershell, ou en fait un type d'objet. Je veux créer plusieurs instances de cet objet. Comment puis-je faire cela?Création de plusieurs instances d'un objet Powershell personnalisé
Le code ci-dessous est ce sur quoi je travaille, il semble que toutes les instances du tableau font référence au même objet, contenant les mêmes valeurs.
# Define output object
$projectType = new-object System.Object
$projectType | add-member -membertype noteproperty -value "" -name Project
$projectType | add-member -membertype noteproperty -value "" -name Category
$projectType | add-member -membertype noteproperty -value "" -name Description
# Import data
$data = import-csv $input -erroraction stop
# Create a generic collection object
$projects = @()
# Parse data
foreach ($line in $data) {
$project = $projectType
$project.Project = $line.Id
$project.Category = $line.Naam
$project.Description = $line.Omschrijving
$projects += $project
}
$projects | Export-Csv output.csv -NoTypeInformation -Force
Ok c'est clair, comment ajouter une fonction ToString (pour le débogage) à l'objet nouvellement créé en utilisant votre méthode? – Paul
Ce n'est pas exactement 'ToString()' que vous demandez, mais essayez ceci: '$ projects | % {"$ _"} '. Vous obtiendrez des chaînes comme celle-ci: '@ {Description = ...; Catégorie = ... Projet = ...} '. Pour le débogage, cela devrait suffire. –