Salta el contingut

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 -ScopeId correcte (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