Loop Hashtable Members in Windows PowerShell Scripts

Q

How to use Foreach loops in Windows PowerShell scripts?

✍: FYIcenter.com

A

There are a couple of ways of loop through members of a hashtable.

1. Using "Keys" property - The "Keys" property holds a Collection object of all keys in a hashtable. The Collection object of keys can be used in a "Foreach {...}" loop as shown below:

$p = @{FirstName="John";LastName="Smith";Age=40}
"My profile:"
Foreach ($k in $p.Keys) {
   "   "+$k+": "+$p.$k
}

2. Using "Values" property - The "Values" property holds a Collection object of all values in a hashtable. The Collection object of keys can be used in a "Foreach {...}" loop.

$p = @{FirstName="John";LastName="Smith";Age=40}
"My profile:"
Foreach ($v in $p.Values) {
   "   "+$v
}

3. Using "GetEnumerator()" method - The "GetEnumerator()" method returns a Collection of DictionaryEntry objects represents all members in a hashtable. The Collection can be used in a "Foreach {...}" loop to loop through each DictionaryEntry with its "Key" and "Value" properties:

$p = @{FirstName="John";LastName="Smith";Age=40}
"My profile:"
Foreach ($e in $p.GetEnumerator()) {
   "   "+$e.Key+": "+$e.Value
}

 

Introduction of Windows PowerShell Script

⇒⇒Windows PowerShell Tutorials

2016-10-29, 422👍, 0💬