- PowerShell y CMD permettre une configuration réseau détaillée dans Windows
- L'utilisation de scripts facilite les tâches répétitives et automatise les configurations.
- Il y a plusieurs commandes et des outils comme Netsh, Get-NetIPConfiguration ou New-NetIPAddress
- En plus de l'IP, vous pouvez configurer le DNS, la passerelle et le nom de l'ordinateur
La configuration d'une adresse IP statique sous Windows peut sembler une tâche exclusive à l'environnement graphique, mais la vérité est qu'il est également possible de le faire rapidement et efficacement à partir de la ligne de commande. CMD comme PowerShell Ils offrent des outils puissants pour modifier les paramètres réseau d'un ordinateur sans avoir à naviguer dans plusieurs menus de l'interface graphique.
Cette fonctionnalité est particulièrement utile sur les serveurs, dans les environnements non graphiques comme Server Core, ou pour les tâches d'administration à distance. Cet article vous expliquera comment Comment attribuer des adresses IP statiques à partir de CMD ou de PowerShell, ainsi que l'exploration d'alternatives telles que Netsh et Sconfig, ainsi que les scripts et l'automatisation.
Configuration IP à l'aide de PowerShell
PowerShell vous permet d'apporter des modifications détaillées et rapides à votre configuration réseau. Pour commencer, il est essentiel d'obtenir les informations actuelles sur les cartes réseau disponibles. Pour ce faire, exécutez la commande suivante :
Get-NetIPConfiguration
Cette commande affiche la configuration actuelle des interfaces réseau. Pour obtenir des informations spécifiques à chaque adaptateur, utilisez :
Get-NetAdapter
Cela fournit des détails tels que le nom de l'adaptateur, la vitesse de connexion ou l'adresse MAC.
Pour définir une IP statique, vous devez utiliser l'applet de commande :
New-NetIPAddress -IPAddress 192.168.1.101 -InterfaceAlias 'Ethernet' -DefaultGateway 192.168.1.1 -AddressFamily IPv4 -PrefixLength 24
Cette commande définit l'IP 192.168.1.101 sur l'adaptateur Ethernet, avec un masque de 255.255.255.0 et une passerelle 192.168.1.1.
Si une configuration précédente existe déjà, elle peut être supprimée avec :
Remove-NetIPAddress -IPAddress 192.168.1.101 -DefaultGateway 192.168.1.1
Et pour configurer les serveurs DNS :
Set-DnsClientServerAddress -InterfaceIndex 12 -ServerAddresses ('8.8.8.8','1.1.1.1')
Utiliser des scripts PowerShell pour automatiser
Un moyen très efficace d'éviter de saisir des commandes à chaque fois, particulièrement utile lors de déploiements de masse, consiste à utiliser des scripts PowerShell. Voici un exemple simple :
$direccionip = "192.168.1.101"
$prefijodered = "24"
$puertadeenlacegw = "192.168.1.1"
$dns = @("8.8.8.8", "1.1.1.1")
$interfaz = (Get-NetAdapter).ifIndex
Nouvelle adresse IP réseau - Adresse IP $ adresse IP - Longueur du préfixe $ préfixe rouge - Index de l'interface $ interface - Passerelle par défaut $ gwgateway
Définir-DnsClientServerAddress -InterfaceIndex $interface -ServerAddresses $dns
cette scénario Configure les serveurs IP et DNS en masse, facilitant ainsi la gestion de plusieurs ordinateurs. Vous pouvez également inclure un changement de nom d'ordinateur dans le script :
$nombre = "Servidor01"
Rename-Computer -NewName $nombre -force
Pour exécuter ce script, enregistrez-le simplement sous .ps1 et exécutez-le à partir de PowerShell avec des autorisations d'administrateur.
Images du processus
Cette procédure peut être mieux visualisée à l'aide d'outils graphiques, mais il est également possible de la surveiller à partir de PowerShell en entrant des commandes telles que :
Get-NetIPAddress
Test-Connection google.com
Le premier affiche les IP configurées, tandis que le second effectue un ping pour vérifier la connectivité.
Configuration avec Netsh depuis CMD ou PowerShell
Netsh est un outil traditionnel et toujours utile pour configurer le réseau via la ligne de commande.
Pour afficher la configuration actuelle de l’interface :
netsh interface ipv4 show config
Pour définir une IP statique :
netsh interface ipv4 set address name="Ethernet0" static 192.168.100.6 255.255.255.0 192.168.100.253
Et pour configurer le DNS primaire et secondaire :
netsh interface ipv4 set dns name="Ethernet0" static 1.1.1.1
netsh interface ipv4 set dns name="Ethernet0" static 8.8.8.8 index=2
Ou en utilisant la commande ajouter lequel est le plus moderne :
netsh interface ipv4 add dnsserver name="Ethernet0" address=1.1.1.1 index=1
netsh interface ipv4 add dnsserver name="Ethernet0" address=8.8.8.8 index=2
Cette méthode fonctionne à la fois dans CMD traditionnel et PowerShell, bien que Netsh puisse être moins flexible que PowerShell pour les tâches complexes.
Utilitaire Sconfig pour Server Core
Les serveurs Windows Server Core n'ont pas d'interface graphique, par conséquent, l'outil peut être utilisé configuration accessible depuis CMD ou PowerShell :
Écrire sconfig et appuyez sur Entrée. Un menu interactif s'ouvre avec des options pour modifier les paramètres réseau, le nom de l'ordinateur, rejoindre des domaines, etc.
Pour modifier l'IP, sélectionnez l'option 8 (Paramètres réseau), choisissez la carte souhaitée puis appuyez sur l'option 1. Choisissez IP(s) statique(s) et renseignez les données demandées : adresse IP, masque de sous-réseau et passerelle.
Vous pouvez ensuite configurer DNS avec l'option 2.
Cette méthode est très pratique pour les configurations rapides de serveurs.
Utilisation de WMI et CIM pour les configurations avancées
Windows Management Instrumentation (WMI) et Common Information Model (CIM) sont des classes qui vous permettent de manipuler les paramètres de PowerShell à l’aide de méthodes détaillées. Ces outils facilitent les tâches complexes et vous permettent d’automatiser l’administration du réseau à un niveau profond.
Par exemple, pour obtenir toutes les IP actives :
Get-CimInstance -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=$true | Select-Object -ExpandProperty IPAddress
Pour voir toutes les propriétés :
Get-CimInstance -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=$true | Format-List
Vous pouvez également configurer le DNS :
$wql = 'SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=True'
$args = @{ DnsDomain = 'miempresa.com' }
Invoke-CimMethod -MethodName SetDNSDomain -Arguments $args -Query $wql
Et pour libérer ou renouveler les baux DHCP :
Invoke-CimMethod -ClassName Win32_NetworkAdapterConfiguration -MethodName ReleaseDHCPLeaseAll
Invoke-CimMethod -ClassName Win32_NetworkAdapterConfiguration -MethodName RenewDHCPLeaseAll
CMD classique pour les configurations IP
Sur les ordinateurs plus anciens ou pour les utilisateurs habitués au CMD classique, vous pouvez utiliser l'utilitaire netsh et d'autres commandes traditionnelles. Ces commandes sont toujours utiles pour les tâches rapides et dans les environnements où PowerShell n’est pas disponible ou souhaité.
ipconfig /all: pour afficher tous les paramètres actuels.netsh interface ipv4 set address name="Ethernet" source=static address=192.168.1.10 gateway=192.168.1.1: pour définir l'IP et la passerelle.netsh interface ipv4 add dnsserver name="Ethernet" address=8.8.8.8 index=1: pour ajouter un DNS.
Bien que moins flexible que PowerShell, il reste très utile dans les environnements de script de base et dans les situations où la compatibilité est primordiale.
L'attribution d'une adresse IP statique sous Windows est essentielle dans de nombreux environnements professionnels, notamment pour les serveurs et ordinateurs nécessitant des adresses fixes pour des services spécifiques. Comme vous l'avez vu, plusieurs outils permettent d'y parvenir, de PowerShell et Netsh à l'utilitaire sconfig. Si chaque méthode présente des avantages, PowerShell se distingue par ses capacités d'automatisation et sa configuration approfondie. Si vous gérez un réseau ou des serveurs, maîtriser ces commandes vous évitera bien des tracas et facilitera l'administration à distance, les déploiements et la standardisation de l'environnement.
Écrivain passionné par le monde des octets et de la technologie en général. J'aime partager mes connaissances à travers l'écriture, et c'est ce que je vais faire dans ce blog, vous montrer toutes les choses les plus intéressantes sur les gadgets, les logiciels, le matériel, les tendances technologiques et plus encore. Mon objectif est de vous aider à naviguer dans le monde numérique de manière simple et divertissante.