Un petit bonus venant compléter l’article sur l’installation de la configuration du service DHCP sous Windows.
Réalisez le même tuto, mais en utilisant la puissance du langage de script de Microsoft : PowerShell !
Présentation des principales commandes du service DHCP 😉
Installer et configurer son DHCP en Powershell
Un petit rappel du contexte : nous avons un serveur Windows 2K16 qui jouera le rôle de DHCP et un client Windows 10 qui devra récupérer une adresse IP dynamiquement.
Info + : pour voir le tuto en mode graphique, c’est par ici : Installation et Configuration du service DHCP sous Windows |
Nous avons défini en amont la configuration du DHCP qui devra être la suivante :
Allez on ouvre la console Powershell (via la zone de recherche ou exécutez powershell.exe) et on attaque !
Info + : PowerShell n’est pas soumis à la casse et dispose de l’auto-complétion au niveau des commandes et de leurs paramètres. |
Première chose importante à faire, attribuez une adresse IP fixe au serveur DHCP.
On commence par récupérer le nom de l’interface réseau que nous allons configurer avec la commande :
Get-NetIPInterface |
Dans mon cas, je n’en ai qu’une (on ne s’occupe pas du loopback), et l’interface a pour alias « Ethernet0 2 ». Je vais lui attribuer une adresse IP fixe (192.168.10.10), un masque en notation CIDR (24) ainsi qu’une adresse de passerelle (192.168.10.1) :
New-NetIPAddress -IPAddress 192.168.10.10 -InterfaceAlias "Ethernet0 2" -DefaultGateway 192.168.10.1 -PrefixLength 24 |
Pour vérifier les configurations de la carte réseau spécifiée, saisissez la commande suivante :
Get-NetIPConfiguration -InterfaceAlias "Ethernet0 2" |
Pour compléter la configuration réseau du serveur, je vais lui attribuer une adresse de DNS :
Set-DnsClientServerAddress -InterfaceAlias "Ethernet0 2" -ServerAddresses 8.8.8.8 |
On peut également en profiter pour renommer la machine :
Rename-Computer -NewName SRV-DHCP |
Pour appliquer le nouveau nom, un redémarrage est nécessaire :
Restart-Computer |
Quand le serveur est prêt, on peut lancer l’installation du rôle DHCP :
Install-WindowsFeature DHCP -IncludeManagementTools |
L’installation prend un général 1 à 2 minutes.
Des groupes de sécurité sont nécessaires pour assurer le bon fonctionnement. Vous devez les créer grâce à la commande suivante :
Add-DhcpServerSecurityGroup |
Pour appliquer les changements, on redémarre le service DHCP :
Restart-Service DhcpServer |
Tout est installé. On va maintenant paramétrer le service DHCP.
Référez vous au tableau de configuration du DHCP pour les différentes adresses !
On va créer une étendue appelée « Réseau local« qui distribuera la plage d’adresse allant de 192.168.10.1 à 192.168.10.254 et on va activer cette étendue :
Add-DhcpServerv4Scope -Name "Réseau local" -StartRange 192.168.10.1 -EndRange 192.168.10.254 -SubnetMask 255.255.255.0 -State Active |
Ensuite, on va mettre en place une plage d’exclusion sur l’étendue pour notre réseau 192.168.10.0 :
Add-DhcpServerv4ExclusionRange -ScopeID 192.168.10.0 -StartRange 192.168.10.1 -EndRange 192.168.10.20 |
On va spécifier que pour cette étendue, on aura une option Routeur (option numéro 3) avec pour valeur, l’adresse IP de la passerelle :
Set-DhcpServerv4OptionValue -ScopeID 192.168.10.0 -OptionID 3 -Value 192.168.10.1 |
On ajoute une réservation pour l’imprimante réseau du service :
Add-DhcpServerv4Reservation -ScopeId 192.168.10.0 -IPAddress 192.168.10.254 -ClientId "A1-B2-C3-D4-E5-F6" -Name « IMP » -Description "Imprimante réseau" |
Et enfin on ajoute une option de serveur, l’option Serveur DNS :
Set-DhcpServerv4OptionValue -DnsServer 8.8.8.8 |
Attention, en PowerShell, le serveur DNS doit être accessible ou cette étape ne passe pas contrairement au mode graphique !
L’étendue est prête et fonctionnelle !
Petit tour d’horizon de quelques commandes utiles pour contrôler son DHCP en PowerShell.
Vérifier une étendue :
Get-DhcpServerv4Scope -ScopeID 192.168.10.0 |
Vérifier les plages d’exclusions d’une étendue :
Get-DhcpServerv4ExclusionRange -ScopeId 192.168.10.0 |
Vérifier les réservations d’une étendue :
Get-DhcpServerv4Reservation -ScopeId 192.168.10.0 |
Vérifier les options d’une étendue :
Get-DhcpServerv4OptionValue -ScopeId 192.168.10.0 |
Vérifier les options de serveur (même commande que la précédente mais sans préciser d’adresse d’étendue) :
Get-DhcpServerv4OptionValue |
Vérifier les baux délivrés dans une étendue :
Get-DhcpServerv4Lease -ScopeId 192.168.10.0 |
Obtenir des statistiques sur les étendues (nombres d’adresses IP libres, en cours d’utilisation ou réservées) :
Get-DhcpServerv4ScopeStatistics |
Pour lister toutes les commandes existantes en Powershell relevant sur service DHCP, tapez ceci :
Get-Command *Dhcp* |
Dernière petite précision : le gestionnaire de serveur peut notifier que la configuration du rôle DHCP n’est pas terminée.
Pour pallier à cela, lancez (en powershell toujours bien sur…), la commande suivante pour voir disparaître le message après actualisation :
Set-ItemProperty –Path registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ServerManager\Roles\12 –Name ConfigurationState –Value 2 |
L’ensemble des commandes en PowerShell (ainsi que leur paramètres) pour le DHCP sont disponibles au lien officiel de Microsoft (en) : Docs Microsoft PowerShell module dhcpserver
Voilà qui clôt ce 1er article sur PowerShell ! En espérant que vous vous êtes bien amusés !
++