mvinogradac
Goto Top

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 ?

Content-Key: 204973

Url: https://administrator.de/contentid/204973

Printed on: April 24, 2024 at 12:04 o'clock

Member: colinardo
colinardo Apr 15, 2013 updated at 09:21:50 (UTC)
Goto Top
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.)
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