Serveur DHCP Windows : configurer le boot PXE UEFI et Bios pour WDS

Windows Server 2012R2Windows Server 2016Windows Server 2019Windows Server 2022

Dans ce tutoriel, je vais vous expliquer comment configurer le service DHCP sur Windows Serveur pour prendre en charge le boot PXE avec WDS pour les ordinateurs en mode UEFI et en mode Bios Legacy.

Dans un tutoriel précédent : WDS : configuration DHCP pour l’UEFI je vous avez expliquer comment configurer le serveur DHCP sur Windows pour la prise en charge seulement de UEFI, qui dans un parc moderne en 2024 devrait normalement suffire.

Il y a quelque temps pour des raisons de compatibilité, j’ai du redéployé des ordinateurs sous Windows 7 en mode Bios Legacy et j’ai du ajouté cette prise en charge sur les serveurs DHCP.

La configuration étant fastidieuse à la main et à faire sur plusieurs serveurs, j’ai préféré utiliser PowerShell pour cette configuration.

Voici le code utilisé :

# Vars
$WDSServer = "192.168.100.5"
$NetworkScope = "192.168.100.0"

# Add Option 60
Add-DhcpServerv4OptionDefinition -Name PXEClient -Description "option added for PXE Support" -OptionId 060 -Type String

# Create Provider class
## Bios Legacy
Add-DhcpServerv4Class -Name "PXEClient BIOS Legacy" -Type Vendor -Data "PXEClient:Arch:00000" -Description "PXEClient:Arch:00000"
## UEFI x64
Add-DhcpServerv4Class -Name "PXEClient UEFI x64" -Type Vendor -Data "PXEClient:Arch:00007" -Description "PXEClient:Arch:00007"

# Create Policy
## Bios Legacy
Add-DhcpServerv4Policy -ScopeId $NetworkScope -Name "PXEClient BIOS Legacy" -Description "WDS PXE for Bios Legacy" -Condition Or -VendorClass EQ, "PXEClient BIOS Legacy*"
Set-DhcpServerv4OptionValue -ScopeId $NetworkScope -OptionId 066 -Value $WDSServer -PolicyName "PXEClient BIOS Legacy"
Set-DhcpServerv4OptionValue -ScopeId $NetworkScope -OptionId 067 -Value boot\x64\wdsnbp.com -PolicyName "PXEClient BIOS Legacy"
## UEFI x64
Add-DhcpServerv4Policy -ScopeId $NetworkScope -Name "PXEClient UEFI x64" -Description "WDS PXE for UEFI x64" -Condition Or -VendorClass EQ, "PXEClient UEFI x64*"
Set-DhcpServerv4OptionValue -ScopeId $NetworkScope -OptionId 060 -Value PXEClient -PolicyName "PXEClient UEFI x64"
Set-DhcpServerv4OptionValue -ScopeId $NetworkScope -OptionId 066 -Value $WDSServer -PolicyName "PXEClient UEFI x64"
Set-DhcpServerv4OptionValue -ScopeId $NetworkScope -OptionId 067 -Value boot\x64\wdsmgfw.efi -PolicyName "PXEClient UEFI x64"

Pour utiliser ce code, adapter les deux variables à votre environnement.

Après l’exécution du script, on peut voir que les classes fournisseurs sont créées :

Les deux stratégies sont créées au niveau de l’étendu :

Les options ont été ajoutées à l’étendu pour le prise en charge de l’UEFI et du Bios en fonction de l’architecture.

Comme on peut le voir, l’option 60 est seulement nécessaire pour le mode UEFI

Romain Drouche
Romain Drouche
Architecte Système | MCSE: Core Infrastructure
Expert en infrastructures IT avec plus de 15 ans d’expérience sur le terrain. Actuellement Chef de projet Systèmes et Réseaux et Référent SSI (Sécurité des Systèmes d’Information), je mets mon expertise au service de la fiabilité et de la sécurité des environnements technologiques.

Laisser un commentaire