Geht auch ganz einfach mit Powershell:
Windows + x Taste drücken und Windows Powershell (Administrator) auswählen.
Hat man nur ein LAN Netzwerkinterface per DHCP am Netzwerk
verbunden, erledigt dieses kleine Script die temporäre Umschaltung auf die
Adresse 192.168.1.5 (um z.B. einen OpenWrt Router nach dem Start zu
konfigurieren)
$interface = Get-NetIPInterface -AddressFamily IPv4|where {$_.InterfaceAlias -match 'Ethernet' -and $_.Dhcp -eq 'enabled' -and $_.ConnectionState -eq 'Connected'}
$interface | New-NetIPAddress 192.168.1.5 -PrefixLength 24
pause
Set-NetIPInterface -InterfaceIndex $interface.ifIndex -Dhcp enabled
Restart-NetAdapter -name $interface.InterfaceAlias
Erklärung der einzelnen Befehle
Get-NetIPInterface liefert den (die) aktuellen per DHCP konfigurierten und
auch verbundenen Netzwerkadapter. Ergänzt man um |select * bekommt man alle
Details.
Mit einem Befehl setzt man den Adapter auf eine neue IP Adresse und deaktiviert DHCP
Fertig und alles wieder zurück? Geht mit dem Set Befehl, allerdings wird hier nicht (mehr?) abgefragt, man muss entweder InterfaceAlias oder InterfaceIndex angeben
Get-NetIPInterface -AddressFamily IPv4|where {$_.DHCP -eq 'Enabled' -and $_.ConnectionState -eq 'Connected'}
Mit einem Befehl setzt man den Adapter auf eine neue IP Adresse und deaktiviert DHCP
New-NetIPAddress 192.168.1.5 -PrefixLength 24Er benötig dazu den InterfaceAlias der mit dem vorherigen Befehl angezeigt wurde. Der wird einfach per Dialog abgefragt.
Fertig und alles wieder zurück? Geht mit dem Set Befehl, allerdings wird hier nicht (mehr?) abgefragt, man muss entweder InterfaceAlias oder InterfaceIndex angeben
Set-NetIPInterface –Dhcp enabledBei Geräten mit Alternativer Konfiguration (LAN Adapter sind per default so eingerichtet) wird allerdings diese aktiviert und kein DHCP renew gemacht.
Dafür braucht man ein
Restart-NetAdapterHier wird jetzt nach dem Name des Adapters gefragt. Der Inhalt des InterfaceAlias wäre hier adäquat und Wildcard * würde alle Adapter neu starten.
Um jetzt alle Befehle effektiv zu kombinieren kann man die ermittelte Konfig auch zwischenspeichern
$interface = Get-NetIPInterface -AddressFamily IPv4|where DHCP -eq 'Enabled'| where ConnectionState -eq 'Connected'(Ich habe hier bewusst mal einen alternativen Syntax mit zwei Pipes verwendet)
Man kann die Variable für die Pipeline komplett oder einzelne Elemente daraus verwenden: $interface.InterfaceAlias liefert den String des "Namens" des Adapters.
Etwas zum lesen:
WindowsPro
Script mit netsh
Technet TCP/IP Cmdlets
Keine Kommentare:
Kommentar veröffentlichen