Powershell - Interaction avec la couche réseau
Date de publication : January 6, 2025
Temps de lecture estimé : 2 minutes
Auteur : Axel Agnan
Déterminer le nom de l’interface réseau active
Dans un premier temps, je stocke dans une variable le nom de l’interface réseau.
La variable utilisée se nomme $InterfaceName.
$InterfaceName = (Get-NetAdapter -Name * -Physical | Where {$_.Status -eq "Up"}).Name
Cette commande va permettre de sélectionner l’interface physique et non virtuelle via le paramètre -Physical la carte réseau qui est actuellement active et utilisée via l’argument de recherche Where {$_.Status -eq “Up”})
Récupération de détails concernant la carte réseau
Ensuite, la fonction Get-NetIPConfiguration permet de récupérer une bonne partie des paramètres de la carte réseau.
Cette fonction prend pour paramètre le nom de l’interface réseau précedemment trouvée.
$interfaceDetails = Get-NetIPConfiguration -InterfaceAlias $InterfaceName | Select *
Cette commande retourne un tableau contenant de nombreuses informations.
Récupérer les adresses IPv4 et IPv6
Les commandes suivantes permettent de récupérer les informations liées aux adresses IPv4 et IPv6 :
$interfaceDetails.IPv4Address
$interfaceDetails.IPv6Address
Pour obtenir seulement les adresses IP sans détail :
$interfaceDetails.IPv4Address.IPAddress
$interfaceDetails.IPv6Address.IPAddress
Récupérer les DNS en usage
La commande suivante permet d’avoir les détails liés aux DNS :
$interfaceDetails.DNSServer
Pour obtenir seulement les adresses IP des DNS :
$interfaceDetails.DNSServer.ServerAddresses
Récupérer la passerelle en usage
Les commandes suivantes permettent de récupérer les détails liés aux passerelles IPv4 et IPv6 :
$interfaceDetails.IPv4DefaultGateway
$interfaceDetails.IPv6DefaultGateway
Pour obtenir uniquement les adresses IP des passerelles sans détail :
$interfaceDetails.IPv4DefaultGateway.nexthop
$interfaceDetails.IPv6DefaultGateway.nexthop
Récupérer l’index de l’interface
Cette commande permet de récupérer le numéro d’index de l’interface réseau :
$interfaceDetails.InterfaceIndex
Récupérer la description de l’interface
Permet d’avoir les détails concernant le modèle de carte réseau (appelé détails) :
$interfaceDetails.InterfaceDescription
Vérification de l’économie d’énergie
Il est possible de vérifier si l’économie d’énergie de Windows est active sur l’interface réseau :
(Get-NetAdapterPowerManagement -Name $InterfaceName).AllowComputerToTurnOffDevice
Récupérer le statut IPv4 et IPv6
Il est possible de vérifier si les composants IPv4 et IPv6 sont actifs sur la carte réseau :
Get-NetAdapterBinding -Name $InterfaceName -ComponentID ms_tcpip4
Get-NetAdapterBinding -Name $InterfaceName -ComponentID ms_tcpip6
Récupérer le profil de connexion en usage
Cette commande permet de récupérer le type de profil assigné à la connexion active (Public, Pro, Privé) :
Get-NetConnectionProfile -InterfaceAlias $InterfaceName
Vérifier la présence de cartes réseaux virtuelles ISATAP / TEREDO
Cette commande permet de vérifier si les interfaces virtuelles ISATAP et/ou TEREDO sont actives sur l’ordinateur :
Get-NetTeredoState