Gérer les cartes réseau en PowerShell
Précédemment, nous avons vu comment effectuer une configuration TCP/IP sur notre serveur « CORE01 ». Maintenant, on va s’intéresser à la gestion des cartes réseaux en elles-mêmes, c’est-à-dire :
- Renommer une carte réseau
- Activer ou désactiver une carte réseau
- Redémarrer une carte réseau
Nous verrons également quelques commandes utiles pour vérifier l’état des cartes. Même si le réseau est configuré sur notre serveur, c'est important de maîtriser quelques commandes de gestion des cartes.
Sommaire
I. Get-NetAdapter : lister les cartes réseau
Pour lister les cartes réseau, on s’appuiera sur « Get-NetAdapter ». Voici une façon synthétique d’afficher les cartes réseau avec leurs noms et le numéro d’index attribué :
Get-NetAdapter | fl Name, InterfaceIndex
Note : « fl » permet d’indiquer « Format List » pour afficher le résultat sous forme de liste. Pour obtenir un résultat sous la forme d'un tableau, utilisez "ft" pour "Format-Table".
Si vous le souhaitez, vous pouvez ajouter d’autres propriétés à afficher, comme par exemple « MediaConnectionState » qui indique si la carte est connectée ou déconnectée, « MacAddress » pour afficher l’adresse MAC de chaque carte, ainsi que la vitesse du lien avec "LinkSpeed".
Get-NetAdapter | fl Name, InterfaceIndex, MacAddress, MediaConnectionState, LinkSpeed
II. Rename-NetAdapter : renommer une carte réseau
Lorsqu’un serveur dispose de plusieurs cartes, ce qui est fréquemment le cas, il est probable que vous ressentiez le besoin de les nommer pour les différencier facilement.
En PowerShell, il y a un commandlet spécialement dédié à cette opération : Rename-NetAdapter
Cependant, ce commandlet n’est pas fait pour être utilisé seul, il faut le combiner à l’utilisation du commandlet « Get-NetAdapter ». Ce dernier servira à sélectionner la carte réseau à renommer puis grâce à un pipe, on concaténera la première commande à Rename-NetAdapter.
Voici un exemple pour renommer la carte « Ethernet0 » en « LAN ».
Get-NetAdapter -Name Ethernet0 | Rename-NetAdapter -NewName LAN
III. Activer ou désactiver une carte réseau
Parfois, les cartes réseau ne sont pas toutes utilisées sur un serveur. Plutôt que de laisser l’adaptateur actif au niveau du système d’exploitation et permettre une connexion, il est préférable de le désactiver pour éviter que quelqu’un vienne se connecter sur le serveur sur une interface non utilisée.
À l’inverse, une carte réseau désactivée pourra être amenée à être utilisée à un moment ou un autre, d’où l’intérêt de savoir comment l’activer.
Deux commandlets sont disponibles : Enable-NetAdapter et Disable-NetAdapter
L’utilisation de ces deux commandlets est simple ! Il suffit de préciser le nom de l’interface concernée.
On commence par désactiver l’interface « LAN », que nous venons de renommer :
Disable-NetAdapter -Name LAN
Rapidement, on peut vérifier le statut de la carte, pour être sûr qu’il soit passé sur « Disabled » :
(Get-NetAdapter -Name LAN).Status
Nous allons réactiver la carte grâce à la commande suivante :
Enable-NetAdapter -Name LAN
Note : Cette commande de réactivation est utile aussi pour activer une carte de backup, dans le cas où la carte principale deviendrait défectueuse.
Il est nécessaire de patienter quelques secondes, le temps que la carte se réactive et remonte le lien réseau. La carte réseau passera en premier lieu par l’état « Disconnected » puis une fois opérationnelle passera sur l’état « Up » (à condition que la carte réseau soit connectée).
IV. Restart-NetAdapter : redémarrer une carte réseau
Cette action n’est pas accessible via l’interface graphique de Windows, à moins de désactiver la carte puis de la réactiver dans la foulée. En cas de défaillance d’une carte réseau, il peut être intéressant de la redémarrer (un simple redémarrage de l’adaptateur peut résoudre certains problèmes) : PowerShell propose un cmdlet prêt à l'emploi pour effectuer cette opération : Restart-NetAdapter.
Un redémarrage est tout simplement une désactivation et une réactivation de la carte réseau.
Tout simplement on utilisera la commande suivante :
Restart-NetAdapter -Name LAN
L’exemple ci-dessus permet de redémarrer la carte nommée « LAN ». Simple et en plus efficace !
V. Configuration avancée de la carte réseau
Si à l’avenir vous avez besoin d’effectuer une configuration avancée sur votre carte réseau (contrôle des flux, activer les trames Jumbo, définir le Tag d'un VLAN, etc.), via PowerShell, sachez qu’il est possible d’afficher les propriétés avancées d’une carte :
Get-NetAdapterAdvancedProperty -Name LAN
Si vous souhaitez modifier une valeur, il faudra obtenir le nom du paramètre, pour cela, exécutez la commande suivante :
Get-NetAdapterAdvancedProperty | ft DisplayName, DisplayValue, ValidDisplayValues
Remarquez la présence de la colonne "ValidDisplayValues" qui vous indique les valeurs valables pour ces différents paramètres avancés, et "DisplayName" qui indique le nom à utiliser pour cibler la propriété.
Note : Si l'affichage en format tableau ne vous donne pas satisfaction, remplacez "ft" par "fl" pour obtenir un listing.
Par la suite, pour modifier une valeur ce sera tout simple.
Set-NetAdapterAdvancedProperty LAN -DisplayName "Paquet Jumbo" -DisplayValue "4088"
Autrement dit :
Set-NetAdapterAdvancedProperty [nom-carte] -DisplayName "[nom-propriété]" -DisplayValue "[nouvelle-valeur]"
Voici un exemple fonctionnel pour activer des paquets Jumbo :
VI. Conclusion
Avec les différentes commandes et syntaxes que nous venons d’utiliser, vous êtes en mesure de gérer les cartes réseau de Windows, exclusivement avec PowerShell !
Si vous souhaitez modifier des propriétés avancées des cartes réseaux, telles que RDMA, de la QoS, SR-IOV, RSS ou encore VMQ, appuyez-vous sur les commandlets « Set-NetAdapterAdvancedProperty » ou obtenez la liste complète des commandes disponibles grâce à « Get-Command *NetAdapter* ». Pour le reste, vous avez toutes les clés en main pour gérer vos cartes !