In this article, we’ll look at how to create and manage DHCP reservations on Windows Server.
What is a DHCP Reservation?
DHCP assigns IP addresses dynamically from a scope based on a lease process by default. Each such lease is a temporary binding between a client identifier (ClientId, usually MAC address) and an IP address selected from the available pool. Note that the reservation should be created so that the specific device always receives the same IP address from the DHCP server.
DHCP reservation is still being managed centrally by the DHCP server (unlike a manually configured static IP address set on the client device). This ensures consistent IP assignment while still allowing centralized control over IP config (this helps you avoiding IP conflicts and makes your network managing simpler).
In DHCP terms:
- Dynamic allocation = temporary lease chosen from available pool
- Reservation = deterministic override of allocation based on ClientId match
Note that a reservation does not remove the IP from the pool; it simply forces the DHCP server to skip dynamic assignment and always assign the predefined mapping when the matching client requests an address.
DHCP reservations are used to enforce a static ClientId to IP mapping within a DHCP scope. The ClientId is typically derived from the MAC address (but it may differ and depends on the client OS/network stack implementation).
Adding an IP Reservation on Windows Server DHCP
You can create an IP reservation on a Windows server using the graphical DHCP MMC snap-in. Open this console from Server Manager > Tools > DHCP or by using the dhcpmgmt.msc command.
Note. If you are deploying a new DHCP server in an AD domain, the DHCP server must be authorized in Active Directory before it can serve DHCP clients. You can authorize it with the command:
Add-DhcpServerInDC -DnsName "dhcp01.contoso.com" -IPAddress 192.168.1.10In order to view authorized DHCP servers, run the following command:
Get-DhcpServerInDC
Find and Add Client to Reservation
Connect to your Windows Server host running the DHCP Server role and expand the IPv4 scope in which you want to create the reservation.
If the client device has already leased a dynamic IP address from your DHCP server, you can reserve this address. Follow the steps below:
- Expand the Address Leases section;
- Find the DHCP client you need in the list (currently issued dynamic IP addresses have a lease expiration date);
- Right-click and select Add to Reservation.

- The current IP address will be reserved for this deviceโs MAC address. In case a reservation already exists for the same IP address/ClientId (MAC address), the DHCP server may return an error or update/overwrite the existing reservation (it depends on the config and server state). Before creating a new reservation, don’t forget to always check if the IP and MAC combination is unique within the scope.
- In the Reservations section, a new entry will be created for your device.
Manually Create a New Reservation
To manually create a DHCP reservation for a device, you must obtain the hardware (MAC) address of the device’s network adapter. On the Windows client device, run the following command to find out the MAC address:
ipconfig /all
In this example, the Physical Address is 08-3E-8E-AA-F3-0D. Copy this value.

Now follow these steps:
- Go to the DHCP Management Console and expand the target IPv4 scope.
- Right-click on Reservation section and select New Reservation.
- Fill in the reservation settings:
Reservation name: type the network name of the device;
IP address: specify an IP address within the DHCP scope subnet that you want to reserve for the device. We recommend you to assign reservation IPs outside of the dynamic allocation pool (but within the same subnet) in order to avoid issues with automatically assigned IPs;
MAC address: paste the device MAC address you just got;
Descriptions: provide a device description for easy identification of the associated device (optional). - Click Add.

Check the format of the MAC address you have entered if the DHCP console has returned an error:
The Unique Identifier you have entered may not be correct.
Do you want to use this Identifier anyway?

Once reserved, this IP is only leased to the client identified by the specific MAC address. Reboot the client to obtain a reserved IP from the DHCP server or force update the device IP settings using the commands:
ipconfig /release ipconfig /renew
Managing DHCP Reservations with PowerShell
It is also useful to manage the DHCP reservations using the PowerShell commands.
Create a Reservation from Current Lease
Create a reservation from the current IP address leased to a device. If you are running PowerShell on a remote management machine, you need to specify the DHCP server with the -ComputerName parameter:
Get-DhcpServerv4Lease -ComputerName nydhcp.theitbros.com -IPAddress 192.168.1.50 |
Add-DhcpServerv4Reservation -ComputerName nydhcp.theitbros.com
Note. In this article we cover IPv4 DHCP reservations. In case you need IPv6, use the equivalent *v6 cmdlets like Add-DhcpServerv6Reservation, Get-DhcpServerv6Reservation, etc.
Manually Add a Reservation by MAC Address
To manually create a new reservation for a specific device MAC address (Client ID):
Add-DhcpServerv4Reservation -ScopeId 192.168.1.0 -IPAddress 192.168.1.51 -ClientId "00-0C-29-05-8B-7E" -Description "Boss_laptop"
Bulk Import Reservations from CSV
To create multiple DHCP reservations in bulk, create a CSV file containing the Scope ID, Client Name, MAC, and the required IP address:
ScopeId,Name,ClientId,IPAddress,Description
192.168.1.0,computer1,08-3E-8E-AA-F3-1D,192.168.1.56,Accounting PC
192.168.1.0,computer2,08-3E-8E-AA-F3-2D,192.168.1.57,Warehouse Scanner
192.168.1.0,computer3,08-3E-8E-AA-F3-3D,192.168.1.58,Reception Printer
You can optionally include the Description field in the CSV file to simplify device identification and administration.

Create DHCP reservations for devices in a CSV file:
Import-Csv -Path C:\PS\dhcpreservations.csv | Add-DhcpServerv4Reservation -ComputerName nydhcp.theitbros.com
Before importing the CSV, you need to check if the IP addresses and ClientIds are not already used by existing reservations:
Get-DhcpServerv4Reservation -ComputerName nydhcp.theitbros.com -ScopeId 192.168.1.0
Note that PowerShell maps the CSV column names to the corresponding Add-DhcpServerv4Reservation parameters by property name. For example, ScopeId, Name, ClientId, IPAddress, and Description are passed automatically to the matching parameters.

Note. The Add-DhcpServerv4Reservation cmdlet does not perform deduplication. In case a reservation with the same IP address or ClientId already exists, the operation may fail or result in a partial import. We recommend you to verify existing reservations using Get-DhcpServerv4Reservation before running bulk import.
Important! In environments with DHCP Failover configured, reservations must exist on both DHCP servers participating in the failover relationship. Reservations are replicated automatically between partners, and depend on the failover mode (Load Balance/Hot Standby). You should always verify failover sync status before making bulk/critical reservation changes to ensure consistency across DHCP servers.
List and Manage Existing Reservations
List IP reservations in a specific DHCP scope:
Get-DhcpServerv4Reservation -ScopeId 192.168.100.0

Get DHCP scope statistics (which includes free, in use, reserved, pending and percentage in use IP address):
Get-DhcpServerv4ScopeStatistics

List 10 (ten) free IP addresses within a range that are not leased:
Get-DhcpServerv4FreeIPAddress -ScopeId 192.168.100.0 -NumAddress 10

You can also use Windows Server IPAM (IP Address Management) to centrally monitor and manage IP address space, DHCP scopes, leases, and reservations across multiple DHCP servers. IPAM provides you with a centralized view of address utilization and DHCP/DNS infrastructure and can complement PowerShell-based administration.
Modify or Remove Reservations
Use the Set-DhcpServerv4Reservation cmdlet to change the reservation settings. For example, replace the reservation MAC address:
Get-DhcpServerv4Reservation -IPAddress 192.168.50.56 | Set-DhcpServerv4Reservation -ClientId "00-0C-29-05-8B-7E" -Verbose

Remove a reservation:
Get-DhcpServerv4Reservation -IPAddress 192.168.50.56| Remove-DhcpServerv4Reservation
Auditing DHCP Reservation Changes
In enterprise environments, you may need to track changes made to DHCP reservations. You can review DHCP-related events by navigating to Event Viewer โ Applications and Services Logs โ Microsoft โ Windows โ DHCP-Server.
For centralized monitoring and long-term retention, DHCP logs can also be forwarded to SIEM platforms (such as Microsoft Sentinel, Splunk, or QRadar).
Tip. If DHCP reservations are used for critical infrastructure devices, you should consider implementing centralized log collection and change auditing.
DHCP Security Considerations
DHCP reservations control IP address assignment, but they do not protect the DHCP infrastructure from rogue DHCP servers/unauthorized clients. In enterprise networks, you should consider enabling DHCP snooping on managed switches in order to allow DHCP responses only from trusted ports and block rogue DHCP servers.
On Windows DHCP Server, you can also use MAC address filtering to allow/deny DHCP requests from specific clients when required. Keep in mind that these controls complement DHCP reservations but serve different purposes.
Migrate Reservations Between DHCP Servers
Migrate DHCP reservations from one DHCP server to another:
Get-DhcpServerv4Reservation -ComputerName OLD_SRV01 -ScopeId "192.168.100.0" | Add-DhcpServerv4Reservation -ComputerName NEW_SRV02 -ScopeId "192.168.100.0"
Note. DHCP reservations are not the only way to control IP assignment in Windows Server DHCP. In larger environments, you can also use DHCP Policies to apply different DHCP settings based on client classes, MAC address patterns, relay agent info (Option 82), or other conditions. DHCP Policies are more useful when you need to manage groups of devices rather than create individual reservations for each client.
What is a DHCP reservation?
A DHCP reservation is a configuration on a DHCP server that maps a specific client identifier (ClientId, usually derived from MAC address) to a fixed IP address within a scope. Unlike static IP configuration on a device, the assignment is still controlled centrally by the DHCP server.
How is a DHCP reservation different from dynamic IP assignment?
- Dynamic allocation โ IP is selected automatically from the available pool and assigned for a limited lease time
- Reservation โ the DHCP server always assigns the same predefined IP when it detects the matching ClientId
A reservation does not remove the IP from the scope; it only changes how the DHCP server assigns it.
Can I create a reservation outside the DHCP pool?
Yes, but it must still be inside the same subnet defined by the scope. It is recommended to use addresses outside the dynamic pool range to avoid accidental dynamic assignment.
What is a ClientId in DHCP reservations?
ClientId is the identifier used by DHCP to recognize a device. In most cases it is based on the MAC address, but it can differ depending on:
- operating system
- network stack implementation
- virtualized environments
Do DHCP reservations work with DHCP Failover?
Yes. In failover environments:
- reservations are replicated between partner servers
- consistency depends on failover mode (Load Balance/Hot Standby)
- sync status should be verified before bulk changes
Do DHCP reservations affect DNS records?
Yes, indirectly. If dynamic DNS updates are enabled:
- the same reserved IP will be consistently registered in DNS
- this improves hostname stability for services relying on DNS
Can I migrate DHCP reservations between servers?
Yes. Reservations can be exported and imported using PowerShell pipelines, allowing migration between DHCP servers while preserving IP-to-ClientId mappings.

