killtec
Goto Top

DHCP Reservierung per Powershell ändern

Hallo,
ich habe einen Win2016 Server mit DHCP laufen.
Ich möchte für 3 DHCP Reservierungen gerne die Option 3 (Router) zeitgesteuert ändern und wollte das per Powershell automatisch erledigen.
Ich habe schon die Funktion gefunden.
Set-DhcpServerv4Reservation
finde aber nicht das passende damit in der Doku.
Ich könnte mir auch denken, dass man die Reservierung auch erst löscht und dann neu anlegt.

Gruß

Content-ID: 1336366348

Url: https://administrator.de/forum/dhcp-reservierung-per-powershell-aendern-1336366348.html

Ausgedruckt am: 02.04.2025 um 09:04 Uhr

cykes
cykes 02.10.2021 aktualisiert um 17:08:20 Uhr
Goto Top
Moin,

schau doch mal in die Doku sämtlicher Set-DhcpServerv4... Kommandos: https://docs.microsoft.com/en-us/powershell/module/dhcpserver/?view=wind ...

Mit
Set-DhcpServerv4OptionValue
dürfte Dir schon geholfen sein.
Das ändert das allerdings global. Ich kann mir nicht vorstellen, dass man für einzelne Reservierungen die Options ändern kann. Das gilt für den kompletten DHCP-Server.

Darf man noch den Hintergrund der Frage erfahren, mir will so gar kein Anwendungsfall einfallen face-wink

Gruß

cykes
149569
149569 02.10.2021 aktualisiert um 17:45:00 Uhr
Goto Top
Zitat von @cykes:


Das ändert das allerdings global. Ich kann mir nicht vorstellen, dass man für einzelne Reservierungen die Options ändern kann.
Jepp, das geht über die Reservierungen nicht.
Darf man noch den Hintergrund der Frage erfahren, mir will so gar kein Anwendungsfall einfallen face-wink
Ich schätze mal sowas wie PolicyRouting.
Sowas fackelt man dann aber in der Regel über den selben Router mittels PolicyRouting ab indem man mit Routing-Tags bzw. MangleRules im Router selbst das Routing ändert so das die Pakete der jeweiligen Client's dann über das andere GW fließen.
Sowas bietet inzwischen jeder halbwegs vernünftige Router auch zeitgesteuert an. pFSense, Mikrotik, Cisco, ... die können das alle schon per Default.
MirkoKR
MirkoKR 02.10.2021 aktualisiert um 19:40:55 Uhr
Goto Top
Das ändert das allerdings global. Ich kann mir nicht vorstellen, dass man für einzelne Reservierungen die Options ändern kann. Das gilt für den kompletten DHCP-Server.


Hmm, mein Gedankengang gerade dazu ... - dann könnte man unterschiedliche Bereichsoptionen für eine Gruppe Clients doch sicher mit dem Unterteilen des Gesamtbereiches in unterschiedliche Teilbereiche erreichen .. ?
MirkoKR
MirkoKR 02.10.2021 aktualisiert um 19:46:47 Uhr
Goto Top
Ich möchte für 3 DHCP Reservierungen gerne die Option 3 (Router) zeitgesteuert ändern und wollte das per Powershell automatisch erledigen. <

... Was ja auch beim Client, der gerade online ist, getriggert werden muss, sich den neuen Wert abzuholen...

Da ist die Router-Lösung sicherer und besser, schätze ich...
killtec
killtec 03.10.2021 um 08:40:16 Uhr
Goto Top
HI,
also in der Reservierung kann man zumindest in der GUI auch einzelne Optionen angeben.
Werde mir die Dokus mal durchschauen ob man da was bauen kann.
Hintergrund ist einfach nur, dass bestimmte Geräte zu einer bestimmten Zeit nicht über das normale Gateway gehen sollen. Mir ist klar das das nicht während der Laufzeit geht.

Gruß
149569
149569 03.10.2021 aktualisiert um 10:17:02 Uhr
Goto Top
Das ist der falsche Weg.
Hintergrund ist einfach nur, dass bestimmte Geräte zu einer bestimmten Zeit nicht über das normale Gateway gehen sollen. Mir ist klar das das nicht während der Laufzeit geht.
Genau sowas regelt man eben in der Regel mittels Policy-Routing auf dem existierenden Gateway, indem man dort per Routing-Tag die Pakete der gewünschten Clients auf das zweite Gateway umleitet und das geht auch zeitgesteuert wenn man will und das wirkt eben sofort und nicht erst wenn der Client meint sich mal dazu zu bemühen.

Welchen primären Router setzt ihr ein? Dann könnte man ja dazu eine bessere Lösung für dein Problem geben.

Wenn du warum auch immer dabei bleiben willst nimm halt NETSH zum Ändern der Optionen für eine bestimmte Reservierung

Dieses Beispiel ändert im Scope 192.168.50.0 für die Reservierte IP 192.168.50.102 die Option Router(003) auf 192.168.50.2:
netsh dhcp server v4 scope 192.168.50.0 set reservedoptionvalue 192.168.50.102 003 IPADDRESS 192.168.50.2

Schönen Sonntag/Feiertag
colinardo
Lösung colinardo 03.10.2021 aktualisiert um 10:54:52 Uhr
Goto Top
Servus @killtec ,
ich würde auch bevorzugt den Policy-Routing Weg gehen den @149569 schon angesprochen hat, das ist damit in der Regel schmerzloser und zuverlässiger.

Um einen Mikrotik-Router mal als Beispiel zu nehmen sieht das im einfachsten Fall für einen Client 192.168.50.102 so aus um dessen Traffic von Samstag 00:00 Uhr bis Sonntag 00:00 Uhr über das Gateway 192.168.50.2 umzuleiten.
/ip route add gateway=192.168.50.2 routing-mark=GW2
/ip firewall mangle add chain=prerouting action=mark-routing new-routing-mark=GW2 passthrough=yes src-address=192.168.50.102 time=0s-1d,sun,sat
Das richtet man einmalig ein und braucht dann auch keinen Task der regelmäßig laufen müsste.

Um aber trotzdem noch eine Antwort auf die eigentliche Frage des Threads zu geben:

Zitat von @cykes:
Mit
Set-DhcpServerv4OptionValue
dürfte Dir schon geholfen sein.
Das ändert das allerdings global. Ich kann mir nicht vorstellen, dass man für einzelne Reservierungen die Options ändern kann. Das gilt für den kompletten DHCP-Server.
@cykes : Doch das Ändern von Optionen ist auch für Reservierungen einzeln möglich man muss nur den Parameter -ReservedIP dazu nutzen anstatt eine ScopeID anzugeben.

Das Ändern der Optionen für eine bestimmte Reservierung via Powershell geht dann so
Set-DhcpServerv4OptionValue -ReservedIP 192.168.50.102 -Router 192.168.50.2
Um eine bestimmte Option (in dem Fall die Option 003 (Router)) wieder zu löschen bemüht man dann
Remove-DhcpServerv4OptionValue -ReservedIP 192.168.50.102 -OptionId 3
Die andere Variante via netsh hat @149569 ja oben auch schon gepostet, ich führe sie hier nur nochmal als Referenz zusammen mit der Powershell Variante auf
netsh dhcp server v4 scope 192.168.50.0 set reservedoptionvalue 192.168.50.102 003 IPADDRESS 192.168.50.2

Grüße Uwe
killtec
killtec 04.10.2021 um 13:44:28 Uhr
Goto Top
Hi @colinardo,
das ist genau das was ich gesucht habe face-smile Besten dank.

Die Variante per Router wäre eine endian Community Firewall (ist nen Linux im Unterbau).
Für meinen Zweck reicht das auf dem Server erstmal voll und ganz aus.

Danke.
colinardo
colinardo 04.10.2021 aktualisiert um 14:20:25 Uhr
Goto Top
Immer gerne.
Zitat von @killtec:
Die Variante per Router wäre eine endian Community Firewall (ist nen Linux im Unterbau).
Damit ist das auch problemlos machbar:
https://help.endian.com/hc/en-us/articles/218144228-Policy-Routes-Basic- ...
Der alternative Uplink ist dann halt nur dein anderes Gateway.