#hash table
$objHashTable = @{} #Initialisation d'une hash table
#$objHashTable.Clear()
$objHashTable.Add("A", "01")
$objHashTable.Add("B", "02")
if ($objHashTable.ContainsKey("C") -ne $true) {$objHashTable.Add("C", "01")}
else{write-host "Pouet"}
Write-host "Nombre d'éléments : $($objHashTable.count)"
Write-host ""
Write-host "Valeurs non triées"
#Enumeration des valeurs en ayant trié sur les noms de clé
foreach ($UneLigne in $objHashTable.GetEnumerator()){
Write-host "($($UneLigne.Key) : $($UneLigne.Value))"
}
#Enumeration des valeurs en ayant trié sur les noms de clé
Write-host ""
Write-host "Contenu trié par clés"
foreach ($UneLigne in $objHashTable.GetEnumerator() | Sort-Object Name ){
Write-host "($($UneLigne.Key) : $($UneLigne.Value))"
}
Write-host ""
Write-host "Contenu trié par valeurs"
#Enumeration des valeurs en ayant trié sur les noms de clé
foreach ($UneLigne in $objHashTable.GetEnumerator() | Sort-Object Value ){
Write-host "($($UneLigne.Key) : $($UneLigne.Value))"
}
#Purge de la Hash Table
$objHashTable.Clear()
Lien vers le fichier : cliquez ici
A noter qu'en alternative on peut créer un objet pour chaque ligne d'un tableau. Exemple :
# Créer une liste pour stocker les objets
$listePersonnes = @()
$personne = New-Object PSObject
$personne | Add-Member -MemberType NoteProperty -Name "Nom" -Value "Robert"
$personne | Add-Member -MemberType NoteProperty -Name "Âge" -Value 50
$listePersonnes += $personne
$personne = $null
$personne = New-Object PSObject
$personne | Add-Member -MemberType NoteProperty -Name "Nom" -Value "merouane"
$personne | Add-Member -MemberType NoteProperty -Name "Âge" -Value 30
$listePersonnes += $personne
$personne = $null
$personne = New-Object PSObject
$personne | Add-Member -MemberType NoteProperty -Name "Nom" -Value "Khai"
$personne | Add-Member -MemberType NoteProperty -Name "Âge" -Value 60
$listePersonnes += $personne
$personne = $null
# Trier les valeurs par nom
$listePersonnes = $listePersonnes | Sort-Object Nom
# Afficher les informations de chaque personne dans la liste
foreach ($personne in $listePersonnes) {
Write-Output "Nom : $($personne.Nom) / Âge : $($personne.Âge)"
}
Lien vers le fichier : cliquez ici
Pages Web
Site Web | Description |
---|---|
Technet.microsoft.com | Working with Hash Tables |
Blogs.msdn.microsoft.com | The Joy of using Hashtables with Windows PowerShell |
Technet.microsoft.com | Converting the Dictionary Object to Windows PowerShell Commands |
Article(s) précédent(s)