Définir une adresse IP en PowerShell
Sommaire
I. Procédure
La ligne de commandes – notamment PowerShell – étant de plus en plus utilisée sous Windows, il peut être intéressant pour vous les administrateurs de savoir effectuer la configuration de base à partir de celle-ci.
Définir une configuration TCP/IP correcte sur une carte réseau fait partie des choses basiques à savoir faire. PowerShell propose des commandlets adéquats pour parvenir à configurer une interface réseau, dans le but de remplacer le bon vieux netsh.
Pour ma part, je procède depuis Windows Server 2012 R2. Quant aux commandes, elles sont intégrées à PowerShell 4.0.
II. La liste des cartes réseaux
Commençons par lister les cartes réseaux disponible sur la machine, cela permettra de repérer le numéro d’index de la carte que l’on souhaite modifier. Ce numéro sera utile lors de la phase de configuration.
Deux choix s’offrent à vous :
- Get-NetIPInterface (Lister les interfaces IP)
- Get-NetAdapter (Obtenir les propriétés basiques des adaptateurs réseaux)
Dans les deux cas, la colonne « ifIndex » vous donnera le numéro d’index de chaque carte. Repérez celui qui correspond à la carte à configurer, pour ma part c’est « 12 ».
III. Configuration d’une nouvelle adresse IP
Par exemple, on ajoute l’adresse IP « 192.168.1.203/24 » à l’interface ayant l’index 12 :
New-NetIPAddress –InterfaceIndex 12 –IPAddress 192.168.1.203 –PrefixLength 24 –DefaultGateway 192.168.1.254
Quelques précisions concernant les paramètres utilisés :
- InterfaceIndex : Numéro d’index de la carte à modifier (il est possible d’utiliser à la place –InterfaceAlias suivit du nom de l’interface si vous préférez au numéro d’index)
- IPAddress : Adresse IP à attribuer à la carte
- PrefixLength : Longueur du masque de sous réseau
- DefaultGateway : Passerelle par défaut
Note : Il existe également la commande Set-NetIPAddress, qui permet de modifier la configuration d’une IP déjà existante dans les paramètres de la carte. Contrairement à ce que l’on peut voir sur internet, elle ne permet pas l’ajout d’une nouvelle adresse sur une carte (la commande retourne une erreur MSFT_NetIPAddress).
Si votre carte était configurée en DHCP, le fait d’ajouter une adresse IP désactive le mode DHCP. D’ailleurs au passage, voici comment activer/désactiver le DHCP sur une carte :
Set-NetIPInterface -InterfaceIndex 12 -Dhcp {Enabled/Disabled}
Revenons à l’adresse IP, nous avons vu comment ajouter une adresse IP sur une carte. Cependant, si une adresse IP est déjà en place sur la carte, elle ne sera pas écrasée par celle que nous venons d’ajouter, il faut donc supprimer l’ancienne.
Imaginons que sur ma carte d’index 12, j’ai une ancienne adresse IP qui est « 10.10.10.10 » et que je souhaite la supprimer :
Remove-NetIPAddress –InterfaceIndex 12 –IPAddress 10.10.10.10 –PrefixLength 16 –DefaultGateway 10.10.10.254
Vous remarquerez que l’on s’appuie sur l’utilisation de la commande Remove-NetIPAddress, en reprenant en modèle la commande d’ajout d’une adresse IP. Confirmez la demande de suppression avec « T » ou deux fois avec « O ».
La notion de Store :
- ActiveStore : Appliquer immédiatement l’adresse IP définie
- PersistentStore : L’ordinateur sauvegarde l’adresse IP pour l’appliquer même après redémarrage. Quand l’ordinateur redémarre, il copie les paramètres sauvegardés dans l’ActiveStore
IV. Ajout d’un DNS
On continue en indiquant un serveur DNS « 8.8.8.8 » sur notre carte, puis, on vérifie que le changement est bien pris en compte :
Set-DnsClientServerAddress -InterfaceIndex 12 -ServerAddresses 8.8.8.8
Pour la vérification :
Get-DnsClientServerAddress -InterfaceIndex 12
Si éventuellement vous souhaitez ajouter un suffixe DNS, utilisez cette commande (exemple avec it-connect.fr) :
Set-DnsClient -InterfaceIndex 12 -ConnectionSpecificSuffix it-connect.fr
V. Vérification des paramètres
Pour vérifier que la configuration de la carte réseau est correcte, on utilise la commande suivante :
Get-NetIPConfiguration
Note : Un alias de cette commande est présent par défaut, il suffit de saisir « gip »
On peut ajouter à la commande le paramètre « InterfaceIndex » ou « InterfaceAlias » si nécessaire pour cible une interface en particulier. Cette commande doit forcément vous rappeler la commande ipconfig.
La configuration de la carte réseau est désormais terminée, ce tutoriel également d'ailleurs. N'hésitez pas à vous entraîner sur ces commandes plutôt que d'utiliser les commandes netsh.
Citation :
« Imaginons que sur ma carte d’index 12, j’ai une ancienne adresse IP qui est « 10.10.10.10 » et que je souhaite la supprimer :
New-NetIPAddress –InterfaceIndex 12 –IPAddress 10.10.10.10 –PrefixLength 16 –DefaultGateway 10.10.10.254
Vous remarquerez que l’on s’appuie sur l’utilisation de la commande Remove-NetIPAddress, en reprenant en modèle la commande d’ajout d’une adresse IP. Confirmez la demande de suppression avec « T » ou deux fois avec « O ». »
Dans ton code il y a marqué ‘New-NetIPAddress’ alors que tu voulais dire/écrire ‘Remove-NetIPAddress’. Sinon cette page est super cool 😉
Merci pour la correction 😉
Bravo et Merci beaucoup !
Bonjour,
Je souhaiterai créer un script PowerShell qui permet de vérifier à partir d’un fichier Excel si l’adresse Mac correspond bien à l’adresse IP et à l’hostname indiqué dans le fichier Excel.
Si l’adresse MAC = adresse IP + hostname du fichier alors ne rien faire
Sinon récurer les infos dans le fichier Excel et faire les modifs automatiquement.
Pouvez-vous m’aiguiller un peu svp ?
Bonjour,
J’ai un message d’erreur en lançant la commande New-NetIPAddress. Le voici :
new-netipaddress : L’objet existe déjà.
Au caractère Ligne:1 : 1
+ new-netipaddress -ipaddress 192.168.1.1 -interfaceindex 24 -prefixlen …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (MSFT_NetIPAddress:ROOT/StandardCimv2/MSFT_NetIPAddress) [New-NetIPAddress], CimException
+ FullyQualifiedErrorId : Windows System Error 5010,New-NetIPAddress
Quand je retourne dans les propriétés de ma carte réseau, « utiliser l’adresse IP suivante : » est bien coché mais aucune adresse n’est rentrée.
Savez-vous pourquoi svp ?
Bonjour
PC windows 10 pro connecter à Internet avec un dongle Huawei e3372h connexion médiocre
j’ai cru de pouvoir l’améliorer avec un routeur TP-Link Archer C7 AC1750 Ver 5.0
je pense que mon fournisseur d’accès Internet me bloque l’entrée du routeur
merci si vous pouviez m’apporter conseil Max Goupil