23/11/2024

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.

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".

Lister les cartes réseau avec Get-NetAdapter
Lister les cartes réseau avec Get-NetAdapter

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

Get-NetAdapter avec des informations supplémentaires
Get-NetAdapter avec des informations supplémentaires

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
Rename-NetAdapter pour renommer une carte réseau avec PowerShell
Rename-NetAdapter pour renommer une carte réseau avec PowerShell

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).

Activer ou désactiver une carte réseau en PowerShell
Activer ou désactiver une carte réseau en PowerShell

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 :

Activer les paquets Jumbo sur la carte LAN avec Set-NetAdapterAdvancedProperty
Activer les paquets Jumbo sur la carte LAN avec Set-NetAdapterAdvancedProperty

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 !

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail