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-ID: 204973

Url: https://administrator.de/forum/regestry-eintraege-aus-einem-hashtable-erstellen-204973.html

Ausgedruckt am: 23.12.2024 um 06:12 Uhr

colinardo
colinardo 15.04.2013 aktualisiert um 11:21:50 Uhr
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