« Programmation PowerShell/Les objets personnalisés » : différence entre les versions

Contenu supprimé Contenu ajouté
Création initiale
 
Ajout des cadre et correction des exemples
Ligne 1 :
<noinclude>{{Programmation PowerShell}}</noinclude>
 
== Les objets personnalisés ==
 
Ligne 10 ⟶ 12 :
L'exemple ci-dessous vous montre comment créer un objet correspondant à vos besoins :
 
<source lang="powershell">
$myObject = New-Object -TypeName pscustomobject
$myObject | Add-Member -MemberType NoteProperty -Name 'ID' -Value '1'
$myObject | Add-Member -MemberType NoteProperty -Name 'Inutile' -Value $true
$myObject | Add-Member -MemberType NoteProperty -Name 'Name' -Value 'Alfonso'
$myObject
</source>
 
= récupérer un objet ne contenant que ce dont on a besoin =
Ligne 19 ⟶ 24 :
L'exemple ci-dessous vous montre comment obtenir les propriétés désirée d'un objet comportant des dizaines de propriétés :
 
<source lang="powershell">
$obj = $myObject | Select-Object -Property Name, ID
$obj
</source>
 
= Ajouter un objet à une collection =
Ligne 25 ⟶ 33 :
L'exemple ci-dessous vous montre comment ajouter vos objets dans une collection :
 
<source lang="powershell">
$obj2 = New-Object -TypeName pscustomobject
$obj2 | Add-Member -MemberType NoteProperty -Name 'Name' -Value 'Bertha'
$obj2 | Add-Member -MemberType NoteProperty -Name 'ID' -Value 2
$obj2
$maCollection = New-Object -TypeName System.Collections.ArrayList
$maCollection += $myObjectobj
$maCollection += $obj2
$maCollection
</source>
 
= Boucler et enrichir la collection d'objets =
Ligne 32 ⟶ 48 :
Il est important de savoir ajouter, petit à petit des informations dans vos objets :
 
<source lang="powershell">
$maCollection | ForEach-Object { $_ | Add-Member -Type NoteProperty -Name 'NewThing' -Value 'NewValue' }
# ou
$maCollection | ForEach-Object { $_ | Add-Member -Type NoteProperty 'NewThing2' 'NewValue2' }
# ou
$maCollection | ForEach-Object { $_ | Add-Member 'NewThing3' 'NewValue3' }
$maCollection
</source>
 
Il est utile de savoir ajouter des valeurs calculées dans vos objets :
 
<source lang="powershell">
$maCollection | ForEach-Object { $_ | Select-Object @{Name='DateTime'; Expression={Get-Date}}, @{Name='Truc'; Expression={'NewThing'+'_fin'}} }
$maCollection | ForEach-Object { $_ | Add-Member @{'idTime3'=($_.ID * 3)} }
# ou
$maCollection | ForEach-Object { $_ | Add-Member 'idTime3bis' ($_.ID * 6) }
</source>
 
= Aller plus loin avec les objets =