Afin de remplacer un serveur DHCP physique défaillant, j’ai monté un nouveau serveur DHCP basé sur une machine virtuelle. Grâce à Powershell, on peut s’occuper de la migration des données propres au serveur DHCP (paramètres, plages, baux…) en 2 coups de cuillère à pot.
Sur l’ancien serveur, on exporte les données :
Export-DhcpServer –ComputerName dhcp-srv -Leases -File C:\dhcp-mig\DhcpSrv-Export.xml -verbose
Puis on importe sur le nouveau serveur ce fichier XML ; à noter que le paramètre -BackupPath permet de spécifier un emplacement où Powershell va sauvegarder la configuration avant importation :
Si jamais l’importation renvoie une erreur « There are no more endpoints available« , il faut alors passer en valeur du paramètre ComputerName le nom NetBIOS de la machine et non son nom DNS (p. ex. : dhcp-srv01 et non dhcp-srv01.domain.com). Pour plus d’informations, vous pouvez consulter ce lien.
Ensuite, pour vérifier que tout est bien importé, en plus d’un contrôle visuel pour les scopes et réservations, cette instruction permet de compter le nombre d’enregistrements : si ils sont identiques avant l’export et après l’importation, cela veut dire que tout s’est bien déroulé (attention, il est possible d’obtenir tout de même une valeur différente si des baux ont expiré depuis l’importation sur le nouveau serveur) :
(Get-DhcpServerv4Scope -Computername dhcp-srv-new | Get-DhcpServerv4Lease -Computername dhcp-srv-new).Count
Vous pouvez trouver tous les cmdlets Powershell propres à DHCP sur le TechNet.