Frage von ItzD4nny, 50

IP-Settings ändern mit Powershell?

Heyho IT-Mitmenschen,

ich habe mal eine kleine Frage: Wir haben diverse Server im internen Netz, dessen Netzwerkkarte ab und zu "rausfliegt". Um nicht jedes mal die IP-Settings neu per Hand eingeben zu müssen, haben wir uns überlegt dies mit einem Powershell Skript zu automatisieren.

So, und hier funzt leider nichts. Ich kenn mich leider 0 mit Powershell aus und egal was ich eingebe, er spuckt jedes mal eine neue Fehlermeldung aus, wie z.B. "A parameter cannot be found", was z.B. bei dem Befehl "-DefaultGateway" auftritt..

Weiß jemand, wie ich per Powershell automatisiert: IPv4-Adresse, Subnetzmaske, Gateway, DNS 1 + 2 eingebe?

PS: nein, via DHCP eine Adresse zuweisen ist keine Option, da wir nicht per Hostnamen, sondern IP drauf zugreifen. Serverversion: Windows Server 2012 R2

Vielen Dank schon mal, ich hoffe jemand hat eine Ahnung, Grüße.

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von valvaris, 31

Hallo, also nur mal zur Richtigstellung: Der DHCP vergibt nur IP-Adressen. Der DNS verwaltet die Namen und im Windowsnetzwerk schreien sowieso alle Rechner ihre Namen per Broadcast ins Netzwerk.

Für einen Server gehört es sich aber nicht, ne dynamische IP zu haben, deshalb immer fest eingestellt... Alles andere ist zwar möglich, aber eine schlechte Angewohnheit, selbst wenn man beim DHCP auch festze IPs für eine MAC-Adresse geben kann.

Aber zur Powershell:

$IP = "10.10.10.10"
$MaskBits = 24 # This means subnet mask = 255.255.255.0
$Gateway = "10.10.10.1"
$Dns = "10.10.10.100"
$IPType = "IPv4"

# Retrieve the network adapter that you want to configure
$adapter = Get-NetAdapter | ? {$_.Status -eq "up"}

# Remove any existing IP, gateway from our ipv4 adapter
If (($adapter | Get-NetIPConfiguration).IPv4Address.IPAddress) {
    $adapter | Remove-NetIPAddress -AddressFamily $IPType -Confirm:$false
}

If (($adapter | Get-NetIPConfiguration).Ipv4DefaultGateway) {
    $adapter | Remove-NetRoute -AddressFamily $IPType -Confirm:$false
}

 # Configure the IP address and default gateway
$adapter | New-NetIPAddress `
    -AddressFamily $IPType `
    -IPAddress $IP `
    -PrefixLength $MaskBits `
    -DefaultGateway $Gateway

# Configure the DNS client server IP addresses
$adapter | Set-DnsClientServerAddress -ServerAddresses $DNS


http://www.adminarsenal.com/admin-arsenal-blog/using-powershell-to-set-static-an...

Kommentar von ItzD4nny ,

Vielen vielen Dank für die rasche Antwort :). Das probiere ich gleich mal aus.

Ist aber nicht ganz richtig. Der DHCP kann auch Werte, wie Maske, Gateway und DNS vergeben..

Kommentar von valvaris ,

aber bei Gateway und DNS nur die IPs der Server, wo der Client den Kram erfragt.

Kommentar von valvaris ,

Schön, dass ich helfen konnte :)

Antwort
von barnim, 17

Mit netsh (https://technet.microsoft.com/de-de/library/bb490939(en-us).aspx) sollte das recht easy gehen, dann musst du nicht in Powershell rumwerkeln.

Antwort
von Acefire, 18

Das is doch nur ein Hotfix. Wie wäre es denn damit das wahre Problem zu beheben damit sowas garnicht erst auftritt? ;)

Antwort
von Xaero, 24

Was hat denn der DHCP damit zutun das du via IP darauf zugreifst?

Keine passende Antwort gefunden?

Fragen Sie die Community