Work with INI files in PowerShell using hashtables.
This code was originally a blog post for Hey Scripting Guy
The individual functions have been published to Microsoft's Script Gallery:
Create a Hashtable and save it to C:\settings.ini:
PS> Import-Module PsIni
PS> $Category1 = @{"Key1"="Value1";"Key2"="Value2"}
PS> $Category2 = @{"Key1"="Value1";"Key2"="Value2"}
PS> $NewINIContent = @{"Category1"=$Category1;"Category2"=$Category2}
PS> Out-IniFile -InputObject $NewINIContent -FilePath "C:\settings.ini"
Results:
[Category1]
Key1=Value1
Key2=Value2[Category2]
Key1=Value1
Key2=Value2
Returns the key "Key2" of the section "Category2" from the C:\settings.ini file:
PS>$FileContent = Get-IniContent "C:\settings.ini"
PS>$FileContent["Category2"]["Key2"]
Value2