Guia ràpida: DHCP amb PowerShell (Windows Server)
Aquesta guia recull, agrupats per tasca, els cmdlets del mòdul DhcpServer de PowerShell més utilitzats per instal·lar, configurar, mantenir i diagnosticar un servidor DHCP a Windows Server. Complementa la pàgina DHCP Windows, que explica el procés pas a pas amb Server Manager; aquí l'objectiu és tenir totes les comandes a mà com a referència durant la pràctica.
Requisits previs
- Windows Server amb PowerShell 5.1 o superior.
- Sessió amb privilegis d'administrador.
- Mòdul
DhcpServer(s'instal·la automàticament amb-IncludeManagementTools).
Podeu consultar la referència completa i sempre actualitzada del mòdul a Microsoft Learn — DhcpServer.
1. Instal·lació del servei
# Comprovar si el rol DHCP està instal·lat
Get-WindowsFeature -Name DHCP
# Instal·lar el rol DHCP Server amb les eines de gestió
Install-WindowsFeature -Name DHCP -IncludeManagementTools
# Comprovar l'estat del servei
Get-Service -Name DHCPServer
2. Configuració inicial
# Autoritzar el servidor DHCP a Active Directory
Add-DhcpServerInDC -DnsName $env:COMPUTERNAME `
-IPAddress (Get-NetIPAddress -AddressFamily IPv4 |
Where-Object { $_.IPAddress -match "192.168" }).IPAddress
# Crear un àmbit (scope) IPv4
Add-DhcpServerv4Scope -Name "Xarxa_Corporativa" `
-StartRange 192.168.100.50 -EndRange 192.168.100.200 `
-SubnetMask 255.255.255.0 `
-Description "Àmbit principal per als ordinadors de l'oficina"
# Activar l'àmbit perquè comenci a repartir IPs
Set-DhcpServerv4Scope -ScopeId 192.168.100.0 -State Active
Un servidor sense autoritzar no reparteix IPs
Si el servidor DHCP forma part d'un domini, ha d'estar autoritzat a Active Directory (Add-DhcpServerInDC) o deixarà de respondre peticions encara que el servei estigui en marxa i l'àmbit actiu. És la causa més freqüent de "el DHCP no reparteix IPs" en entorns Windows — vegeu també la nota corresponent a DHCP Windows.
3. Opcions DHCP
# Gateway per defecte (opció 3)
Set-DhcpServerv4OptionValue -ScopeId 192.168.100.0 -OptionId 3 -Value 192.168.100.1
# Servidors DNS (opció 6)
Set-DhcpServerv4OptionValue -ScopeId 192.168.100.0 -OptionId 6 -Value 8.8.8.8,8.8.4.4
# Durada del lease (format dies.hores:minuts:segons)
Set-DhcpServerv4Scope -ScopeId 192.168.100.0 -LeaseDuration 8.00:00:00
Els paràmetres -Router i -DnsServer de Set-DhcpServerv4OptionValue són equivalents més llegibles a -OptionId 3 i -OptionId 6 respectivament, i es poden combinar en una sola comanda:
Set-DhcpServerv4OptionValue -ScopeId 192.168.100.0 `
-Router 192.168.100.1 `
-DnsServer 192.168.100.1,8.8.8.8 `
-DnsDomain "empresa.local"
4. Gestió avançada: reserves i exclusions
# Reserva d'adreça per MAC (sempre la mateixa IP per a aquest equip)
Add-DhcpServerv4Reservation -ScopeId 192.168.100.0 `
-IPAddress 192.168.100.10 -ClientId "00-15-5D-00-04-10" `
-Name "PrintServer01" -Description "Servidor d'impressió principal"
# Exclusió d'un rang d'adreces (no s'assignaran mai automàticament)
Add-DhcpServerv4ExclusionRange -ScopeId 192.168.100.0 `
-StartRange 192.168.100.1 -EndRange 192.168.100.20
# Consultar reserves i exclusions existents
Get-DhcpServerv4Reservation -ScopeId 192.168.100.0
Get-DhcpServerv4ExclusionRange -ScopeId 192.168.100.0
5. Monitoratge i manteniment
# Estadístiques de l'àmbit (adreces lliures, en ús, pendents, reservades)
Get-DhcpServerv4ScopeStatistics -ScopeId 192.168.100.0 |
Select-Object ScopeId, Free, InUse, Pending, Reserved
# Concessions (leases) actives
Get-DhcpServerv4Lease -ScopeId 192.168.100.0
# Exportar tota la configuració (àmbits, opcions, reserves i leases) a un fitxer
Export-DhcpServer -File "C:\DHCP-Backup-$(Get-Date -Format 'yyyyMMdd').xml" -Leases
# Importar-la de nou en cas de restauració
Import-DhcpServer -File "C:\DHCP-Backup.xml" -BackupPath "C:\DHCPBackup"
# Reiniciar el servei
Restart-Service DHCPServer
6. Resolució de problemes
# Alliberar una concessió concreta (per exemple, per fer proves)
Remove-DhcpServerv4Lease -ScopeId 192.168.100.0 -IPAddress 192.168.100.150
# Consultar els darrers esdeveniments del servei DHCP
Get-WinEvent -LogName "Microsoft-Windows-DHCP-Server/Operational" -MaxEvents 50 |
Select-Object TimeCreated, Id, LevelDisplayName, Message
Des del client, les comandes equivalents per depurar la configuració IP són:
ipconfig /all # Mostrar la configuració actual
ipconfig /release # Alliberar l'adreça IP
ipconfig /renew # Renovar l'adreça IP
Errors habituals a l'hora de practicar
- Oblidar activar l'àmbit (
-State Active) després de crear-lo: es crea correctament però no reparteix IPs. - Confondre el format de la durada del lease: és
dies.hores:minuts:segons(p. ex.8.00:00:00), no hores soltes. - No indicar el
-ScopeIdcorrecte (l'adreça de xarxa, no una IP del rang) en les comandes de configuració. - Separar diversos valors DNS amb guions en lloc de comes a
-DnsServer/-Value.
Referència ràpida de cmdlets
| Tasca | Cmdlet |
|---|---|
| Consultar tots els paràmetres d'un àmbit | Get-DhcpServerv4Scope -ScopeId <id> \| Format-List * |
| Llistar totes les opcions configurades | Get-DhcpServerv4OptionValue -ScopeId <id> |
| Estadístiques globals del servidor | Get-DhcpServerv4Statistics |
| Comprovar autorització a AD | Get-DhcpServerInDC |
| Obrir el tallafoc per a DHCP (UDP 67) | New-NetFirewallRule -DisplayName "DHCP Server (UDP-In)" -Direction Inbound -Protocol UDP -LocalPort 67 -Action Allow |
Crear un àmbit complet en un sol bloc
Per acabar, un exemple que encadena les comandes més habituals per deixar un àmbit operatiu de cop:
Add-DhcpServerv4Scope -Name "Xarxa_Corporativa" `
-StartRange 192.168.100.50 -EndRange 192.168.100.200 `
-SubnetMask 255.255.255.0 -Description "Àmbit principal" `
-State Active -LeaseDuration 8.00:00:00
Set-DhcpServerv4OptionValue -ScopeId 192.168.100.0 -OptionId 3 -Value 192.168.100.1
Set-DhcpServerv4OptionValue -ScopeId 192.168.100.0 -OptionId 6 -Value 8.8.8.8,8.8.4.4