The knowledge base / All cheat sheets
● Always in your toolkitAbout the project ↗

Windows DHCP scope and lease investigation cheat sheet

Inspect DHCP scope capacity, leases, reservations, options and failover before changing a production scope.

Windows Server DHCP with the DhcpServer PowerShell module or RSAT DHCP tools.

Updated · Windows · 6 min read

CommandWhat it does
Get-DhcpServerv4Scope -ComputerName dhcp01.corp.exampleList scopes and their configured state
Get-DhcpServerv4ScopeStatistics -ComputerName dhcp01.corp.example -ScopeId 10.20.30.0Measure scope utilization
Get-DhcpServerv4Lease -ComputerName dhcp01.corp.example -ScopeId 10.20.30.0Inspect allocated leases
Get-DhcpServerv4Reservation -ComputerName dhcp01.corp.example -ScopeId 10.20.30.0Review scope reservations
Get-DhcpServerv4OptionValue -ComputerName dhcp01.corp.example -ScopeId 10.20.30.0Inspect configured scope options
Get-DhcpServerv4Failover -ComputerName dhcp01.corp.exampleInspect configured failover relationships

Walkthrough

Use authorized read access. Replace dhcp01.corp.example and 10.20.30.0 with the DHCP server and scope network ID, not a client address. These commands query the server without releasing leases.

Step 1: List scopes and their configured state

Get-DhcpServerv4Scope -ComputerName dhcp01.corp.example

Find the affected subnet by ScopeId and inspect State, StartRange, EndRange and SubnetMask. An active scope is necessary but does not confirm that the client VLAN can reach the server or that the relay targets this server.

Step 2: Measure scope utilization

Get-DhcpServerv4ScopeStatistics -ComputerName dhcp01.corp.example -ScopeId 10.20.30.0

Compare AddressesFree, AddressesInUse and PercentageInUse with the incident time. A nearly exhausted pool can explain new-client failures while existing clients keep working; retain the sample time and compare with another sample.

Step 3: Inspect allocated leases

Get-DhcpServerv4Lease -ComputerName dhcp01.corp.example -ScopeId 10.20.30.0

Find the affected client using its address, client identifier and host name. Compare AddressState and LeaseExpiryTime. A client absent from this server may have contacted another server or never reached DHCP; absence alone cannot distinguish those cases.

Step 4: Review scope reservations

Get-DhcpServerv4Reservation -ComputerName dhcp01.corp.example -ScopeId 10.20.30.0

Compare reserved addresses and client identifiers with the intended equipment. A reservation is not evidence that a client is online, and a MAC or client-ID mismatch can prevent the expected assignment. Do not remove reservations during evidence collection.

Step 5: Inspect configured scope options

Get-DhcpServerv4OptionValue -ComputerName dhcp01.corp.example -ScopeId 10.20.30.0

Compare router option 003 and DNS server option 006 with the subnet design. Scope options do not tell the entire story when server defaults, policies or reservation-level overrides apply; compare the actual client configuration too.

Step 6: Inspect configured failover relationships

Get-DhcpServerv4Failover -ComputerName dhcp01.corp.example

Record partner, relationship state and associated scopes. No relationship can be intentional on a standalone server. An unexpected communication state requires checking partner health and connectivity before any manual state transition.

WORKED INCIDENT

Practical case: Existing laptops work but new clients receive no lease

Fictional teaching scenario; observations are examples, not captured production output.

Situation

New devices on VLAN 30 cannot obtain an address, while machines with current leases remain connected.

Investigation sequence

1. List scopes and their configured state

Get-DhcpServerv4Scope -ComputerName dhcp01.corp.example

Confirm VLAN 30 maps to the active 10.20.30.0 scope. A wrong or inactive scope leads to a different investigation.

2. Measure scope utilization

Get-DhcpServerv4ScopeStatistics -ComputerName dhcp01.corp.example -ScopeId 10.20.30.0

Read available addresses at the time a new client tries to connect. This example has zero free addresses.

3. Inspect allocated leases

Get-DhcpServerv4Lease -ComputerName dhcp01.corp.example -ScopeId 10.20.30.0

Inspect lease distribution and expiration times. Do not delete apparently unused leases based only on host names.

4. Review scope reservations

Get-DhcpServerv4Reservation -ComputerName dhcp01.corp.example -ScopeId 10.20.30.0

Compare reservations with the approved allocation plan, looking for unexpected consumption or client-ID mismatches.

5. Inspect configured failover relationships

Get-DhcpServerv4Failover -ComputerName dhcp01.corp.example

Check the failover partner state before attributing all available capacity to one server.

Example findings

Illustrative findings: State = Active; AddressesFree = 0; existing leases remain valid; failover relationship state = Normal.

Interpret the findings

Exhaustion is supported by the capacity sample. It does not establish why addresses were consumed. Review lease growth and address planning with the DHCP owner before changing ranges or lease duration.

Verify the outcome

After the approved capacity correction, have one test client request a lease normally. Confirm its subnet, gateway, DNS options and lease on the server, then repeat the free-address sample.

Escalation handoff

Send the scope ID, utilization samples, lease counts and partner state to the DHCP owner. If free addresses exist, investigate VLAN relay, server reachability and DHCP logs instead.

Microsoft DHCP Server cmdlets

Microsoft DHCP Server cmdlets