Regestry Einträge aus einem Hashtable erstellen
Hallo Zusammen,
ich will mit einem Powershellskript Regestry Einträge setzten. Dazu will ich ein Hashtable benutzten.
Ich steuere dies über eine INI Datei..
INI Eintra
[RegKeys]
RegPath = {@{HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome}}
Proxy = {@{"ProxyMode" = "system";}}
Diese eingräte will ich auslesen und dann in die Registry eintragen.
Powershell
$arrayScriptConfig.Regkeys = @{};
if ($arrayScriptConfig.Regkeys -is [Hashtable]) {Write-Verbose "[Masterscript] InstallParameter ist Hashtable" }
else{Write-Verbose "[Masterscript] InstallParameter ist Array mit"} ;
$arrayScriptConfig.Regkeys.Count
--> er erkennt zwar das es sich um ein Hashtable Handelt füllt diesen aber nicht aus....
Hat viellecht jemand eine Idee ?
ich will mit einem Powershellskript Regestry Einträge setzten. Dazu will ich ein Hashtable benutzten.
Ich steuere dies über eine INI Datei..
INI Eintra
[RegKeys]
RegPath = {@{HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome}}
Proxy = {@{"ProxyMode" = "system";}}
Diese eingräte will ich auslesen und dann in die Registry eintragen.
Powershell
$arrayScriptConfig.Regkeys = @{};
if ($arrayScriptConfig.Regkeys -is [Hashtable]) {Write-Verbose "[Masterscript] InstallParameter ist Hashtable" }
else{Write-Verbose "[Masterscript] InstallParameter ist Array mit"} ;
$arrayScriptConfig.Regkeys.Count
--> er erkennt zwar das es sich um ein Hashtable Handelt füllt diesen aber nicht aus....
Hat viellecht jemand eine Idee ?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 204973
Url: https://administrator.de/contentid/204973
Ausgedruckt am: 22.11.2024 um 21:11 Uhr
1 Kommentar
Hallo Casy1986,
deine Ausführung ist zwar schwer zu verstehen aber vielleicht hilft dir folgendes weiter.
Die Funktion Get-IniContent liest eine ini-Datei ein und erstellt daraus Hashtabellen, auf deren Inhalt du dann zugreifen kannst. (In Zeile 28 noch den Pfad zu deiner Ini-Datei ändern.)
Grüße Uwe
deine Ausführung ist zwar schwer zu verstehen aber vielleicht hilft dir folgendes weiter.
Die Funktion Get-IniContent liest eine ini-Datei ein und erstellt daraus Hashtabellen, auf deren Inhalt du dann zugreifen kannst. (In Zeile 28 noch den Pfad zu deiner Ini-Datei ändern.)
function Get-IniContent ($filePath)
{
$ini = @{}
switch -regex -file $FilePath
{
"^\[(.+)\]" # Section
{
$section = $matches[1]
$ini[$section] = @{}
$CommentCount = 0
}
"^(;.*)$" # Comment
{
$value = $matches[1]
$CommentCount = $CommentCount + 1
$name = "Comment" + $CommentCount
$ini[$section][$name] = $value
}
"(.+?)\s*=(.*)" # Key
{
$name,$value = $matches[1..2]
$ini[$section][$name] = $value
}
}
return $ini
}
$myini = Get-IniContent("C:\deine.ini")
echo $myini
Grüße Uwe