Trate o .ini como um arquivo de texto. Digamos que temos o seguinte .ini:
[section1]
var1=foo1
[section2]
var2=foo2
var3=foo3
Para alterar o valor atribuído a "var2", podemos fazer:
(get-content .\test.ini).Replace('foo2','bar2') | Set-Content .\test.ini
Onde "bar2" é o valor definido pelo usuário. Para incorporar o valor definido pelo usuário, você poderia fazer:
$ini = ".\test.ini"
$userInput = Read-Host -Prompt "Enter a new value for var2"
(get-content $ini).Replace('foo2',$userInput) | Set-Content $ini
A maneira que você escolhe para projetar como você lida com a substituição dependerá dos dados em seu arquivo particular.