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
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
Please also mark the comments that contributed to the solution of the article
Content-Key: 201939
Url: https://administrator.de/contentid/201939
Printed on: April 23, 2024 at 15:04 o'clock
3 Comments
Latest comment
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 ...
Grüße Uwe
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