flooxeno

Mit Powershell nach IPv4 in Registry auf unsterschiedlichen Systemen suchen

Hallo zusammen,
das ist mein erster Beitrag und ich hab auch schon eine Frage:

Ich habe eine Reihe von VM Servern die durch ein Update eine neue Netzwerkkarte spendiert bekamen.
Leider wurden die Netzwerkkarten mit DHCP gefüttert und nicht mit der alten Konfiguration.

Die alte Konfiguration steht allerdings noch in der Registry unter:
HKEY_LOCAL_MACHINE\System\currentcontrolset\services\tcpip\parameters\interfaces\

Jetzt ist es leider nur so das es dort mehrere Interfaces gibt.

Mein Ziel ist es nach einem Match mit Powershell in der Registry die IP Adresse aufindig zu machen und diese in eine Variable zu übergeben.

Die Variable wird dann später genutzt um die neue Netzwerkkarte mit den alten Werten zu füttern.
IP4Adresse
DNS1
DNS2

Wie kann ich da am besten vorgehen?
Viele Grüsse und danke
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 201939

Url: https://administrator.de/forum/mit-powershell-nach-ipv4-in-registry-auf-unsterschiedlichen-systemen-suchen-201939.html

Ausgedruckt am: 05.06.2025 um 12:06 Uhr

colinardo
colinardo 18.02.2013 aktualisiert um 14:24:29 Uhr
Goto Top
Hi FlooXeno,

folgendes Script gibt dir alle Schlüssel aus in denen eine feste IP-Adresse eingetragen ist und splitet auch die jeweiligen DNS-Server auf falls mehr als einer existiert:
Jetzt musst du nur noch wissen wonach du "matchen" willst ...

$keys = Get-ChildItem HKLM:\System\currentcontrolset\services\tcpip\parameters\interfaces\
foreach ($key in $keys){
    $ip = $key.GetValue("IPAddress")  
    if ($ip) {
        $nameserver = $key.GetValue("NameServer")  
        $DNSArray = ""  
        if ($nameserver -contains " "){  
            $DNSArray = $nameserver.Split(" ")   
            if ($DNSArray.length -gt 1){
                $DNS1 = $DNSArray
                $DNS2 = $DNSArray[1]
            }else{
                $DNS1 = $DNSArray
                $DNS2 = ""  
            }
        } else {
            $DNS1 = $nameserver
            $DNS2 = ""  
        }
        write-host $key
        write-host IP: $ip
        write-host DNS1: $DNS1
        write-host DNS2: $DNS2
    }
}

Grüße Uwe
FlooXeno
FlooXeno 18.02.2013 um 14:21:38 Uhr
Goto Top
Wow danke, ich teste das gleich mal face-smile
FlooXeno
FlooXeno 17.04.2013 um 10:23:16 Uhr
Goto Top
Danke hat geklappt face-smile