top of page

PowerShell Hash Tables

Accessing Values

Accessing values in a hash table is straightforward using the key:

# Accessing a value by its key

$name = $person['Name']

Write-Output $name

# Output: John Doe

​

# Using dot notation

$occupation = $person.Occupation

Write-Output $occupation

# Output: Developer

​

​

Removing Entries

Remove entries from a hash table using the Remove method or the Remove-Item 

# Remove an entry using Remove method

$person.Remove('City')

# Remove an entry using Remove-Item cmdlet

Remove-Item -Path $person['Occupation']

​

​

Enumerating Hash Table Entries

You can enumerate all key-value pairs in a hash table using a foreach loop:

foreach ($key in $person.Keys) { Write-Output "$key: $($person[$key])" }

​

​

Using Hash Tables to Create Custom Objects

Hash tables can be used to create custom objects, making data manipulation more intuitive:

​

# Create a custom object using a hash table

$customObject = [PSCustomObject]@{ FirstName = "Alice"; LastName = "Johnson"; Department = "IT" }

Write-Output $customObject

​

​

Nested Hash Tables

Hash tables can contain other hash tables as values, allowing for more complex data structures:

​

# Creating a nested hash table

$employee = @{ Name = "Jane Smith"; Contact = @{ Email = "jane.smith@example.com"; Phone = "555-1234" } }

​

# Accessing nested hash table values

$email = $employee.Contact.Email

Write-Output $email

#Output: jane.smith@example.com

​

​

​

 #Set Values to Variable         
    $Hotfix = Get-Hotfix | Select -ExpandProperty HotfixID

    $Services = Get-Service | Where {$_.Status -eq "Running"} | Select -ExpandProperty Name

    $Enabled_Local_Accounts=Get-WmiObject -Class Win32_UserAccount -Filter {LocalAccount ='True' and Disabled='False'} | Select -ExpandProperty Name

    $Drives=Get-PSDrive | Where{$_.Free -ne $Null} | Select -ExpandProperty Name 
    

 #Create Hash and Assign Values 
    $MyHASH=@{
        Running_Services=$Services;
        Installed_Hotfix=$Hotfix;
        Enabled_Local_accounts=$Enabled_Local_Accounts
        Hard_Drives=$Drives
    }    

    #Access Hash Data    
    $MyHASH.Installed_Hotfix

Using Hash Tables in PowerShell: A Guide with Examples:

Hash tables in PowerShell are a powerful way to store and manage data. They consist of key-value pairs, where each key i

s unique, making data retrieval fast and efficient. Here's how you can use hash tables in PowerShell with practical examples:

 

Creating a Hash Table

To create a hash table, use the @{} syntax:

​

# Create an empty hash table

$hashTable = @{}

​

# Create a hash table with initial key-value pairs

$person = @{

Name = "John Doe"

Age = 30

Occupation = "Developer"

}

​

# Adding a new key-value pair

$person['City'] = 'New York'

​

# Modifying an existing key-value pair

$person['Age'] = 31

Build Datasets \ Assign to Hash
PowerShell Hash
bottom of page