23 septembre 2026

Déployer un serveur DHCP Windows Server 2019 via PowerShell

Déployer un serveur DHCP Windows Server 2019 via PowerShellwindows
Photo: panumas nikhomkhai / Pexels
🖥️ Illustration
PowerShell – dhcp01.corp.local
PS C:\> Install-WindowsFeature -Name DHCP -IncludeManagementTools
Success: DHCP role installed.

PS C:\> Add-DhcpServerInDC -DnsName "dhcp01.corp.local" -IPAddress "10.0.1.10"
Success: DHCP server authorized in Active Directory.

PS C:\> Add-DhcpServerv4Scope -Name "Scope_SiteA" -StartRange 10.0.10.100 `
    -EndRange 10.0.10.200 -SubnetMask 255.255.255.0 -State Active
Success: Scope created.

PS C:\> Set-DhcpServerv4OptionValue -ScopeId 10.0.10.100 `
    -Router 10.0.10.1 -DnsServer 10.0.0.53 -DnsDomain "corp.local"
Success: Options set.

PS C:\> Get-DhcpServerv4Scope

ScopeId          : 10.0.10.0
Name             : Scope_SiteA
State            : Active
StartRange       : 10.0.10.100
EndRange         : 10.0.10.200
SubnetMask       : 255.255.255.0

Contexte

Dans un réseau d’entreprise, le service DHCP (Dynamic Host Configuration Protocol) attribue automatiquement les adresses IP aux postes clients. Installer ce service manuellement via le GUI est fastidieux et source d’erreurs. PowerShell permet d’automatiser l’installation, la configuration d’un scope, et la sécurisation du serveur.

serveur DHCP PowerShellwindows
Photo: panumas nikhomkhai / Pexels

Quand l’utiliser ?

  • Déploiement d’un nouveau site ou d’un nouveau segment réseau.
  • Standardisation du processus d’installation sur plusieurs serveurs.
  • Intégration dans un script de provisioning d’infrastructure.

🟢 Étapes de mise en place

  1. 🔹 Vérifier les prérequis
  2. # Vérifier que le serveur est membre du domaine
    (Get-ADDomain).DomainMode
    
    # Vérifier la version de PowerShell
    $PSVersionTable.PSVersion
    
  3. 🔹 Installer le rôle DHCP
  4. Install-WindowsFeature -Name DHCP -IncludeManagementTools
    
  5. 🔹 Autoriser le serveur DHCP dans AD
  6. Add-DhcpServerInDC -DnsName "dhcp01.corp.local" -IPAddress "10.0.1.10"
    
  7. 🔹 Créer un scope DHCP
  8. # Définir les variables
    $ScopeName = "Scope_SiteA"
    $StartIP   = "10.0.10.100"
    $EndIP     = "10.0.10.200"
    $SubnetMask= "255.255.255.0"
    $DefaultGateway = "10.0.10.1"
    $DnsServer = "10.0.0.53"
    
    # Créer le scope
    Add-DhcpServerv4Scope -Name $ScopeName `
        -StartRange $StartIP -EndRange $EndIP `
        -SubnetMask $SubnetMask -State Active
    
    # Configurer les options du scope
    Set-DhcpServerv4OptionValue -ScopeId $StartIP `
        -Router $DefaultGateway `
        -DnsServer $DnsServer `
        -DnsDomain "corp.local"
    
  9. 🔹 Définir les réservations (exemple)
  10. Add-DhcpServerv4Reservation -ScopeId $StartIP `
        -IPAddress "10.0.10.150" -ClientId "00-15-5D-01-02-03" `
        -Description "Imprimante_SalleA"
    
  11. 🔹 Activer le service DHCP
  12. Start-Service -Name DHCPServer
    Set-Service -Name DHCPServer -StartupType Automatic
    
  13. 🔹 Vérifier la configuration
  14. Get-DhcpServerv4Scope | Format-Table -AutoSize
    Get-DhcpServerv4OptionValue -ScopeId $StartIP
    

🔄 Méthode alternative

Si vous préférez une approche GUI, vous pouvez lancer le gestionnaire DHCP avec dhcpmgmt.msc, mais la réplication de la configuration sur plusieurs serveurs nécessitera alors un export/import manuel du serveur DHCP (Export-DhcpServer / Import-DhcpServer).

⚠️ Bonnes pratiques de sécurité

  • Restreindre l’accès au serveur DHCP aux administrateurs du domaine via le groupe DHCP Administrators.
  • Activer la journalisation détaillée : Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\DHCPServer\Parameters" -Name "LogFileSize" -Value 5000.
  • Utiliser des réservations pour les équipements critiques afin d’éviter les conflits d’adresses.
  • Mettre en place un filtre d’adresses MAC non autorisées avec Add-DhcpServerv4Filter si vous avez besoin de contrôler qui peut obtenir une adresse.
  • Planifier des sauvegardes régulières du serveur DHCP : Export-DhcpServer -ComputerName dhcp01 -File "C:\Backup\dhcp-config.xml" -Leases.

✅ Conclusion

Grâce à PowerShell, le déploiement d’un serveur DHCP devient rapide, reproductible et auditable. Vous avez maintenant un service DHCP opérationnel, sécurisé et intégré à votre domaine Active Directory. N’oubliez pas de surveiller les journaux et de tester la distribution d’adresses sur un poste client pour valider le bon fonctionnement.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *