Configurer une interface réseau sur Windows avec PowerShell
Pour configurer l’interface réseau d’une machine Windows, il est possible d’utiliser en powershell les cmdlets du module nettcpip, dont vous trouverez la documentation ici.
Ces cmdlets Powershell apparu avec Windows 8 / Windows Server 2012 sont constituer de fichier CDXML (des fichiers xml) qui encapsule des commandes WMI (Windows Management Instrumentation).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
. PS C:\> Get-ChildItem -Path C:\Windows\System32\WindowsPowerShell\v1.0\Modules\NetTCPIP Répertoire : C:\Windows\System32\WindowsPowerShell\v1.0\Modules\NetTCPIP Mode LastWriteTime Length Name ---- ------------- ------ ---- ------ 7/16/2016 3:18 PM 1046 MSFT_NetCompartment.cdxml ------ 7/16/2016 3:18 PM 20027 MSFT_NetIPAddress.cdxml ------ 7/16/2016 3:18 PM 24617 MSFT_NetIPInterface.cdxml ------ 7/16/2016 3:18 PM 11096 MSFT_NetIPv4Protocol.cdxml ------ 7/16/2016 3:18 PM 14251 MSFT_NetIPv6Protocol.cdxml ------ 7/16/2016 3:18 PM 10723 MSFT_NetNeighbor.cdxml ------ 7/16/2016 3:18 PM 5275 MSFT_NetOffloadGlobalSetting.cdxml ------ 7/16/2016 3:18 PM 1373 MSFT_NetPrefixPolicy.cdxml ------ 7/16/2016 3:18 PM 16443 MSFT_NetRoute.cdxml ------ 7/16/2016 3:18 PM 4526 MSFT_NetTCPConnection.cdxml ------ 8/30/2018 7:59 PM 16175 MSFT_NetTCPSetting.cdxml ------ 7/16/2016 3:18 PM 5085 MSFT_NetTransportFilter.cdxml ------ 7/16/2016 3:18 PM 1771 MSFT_NetUDPEndpoint.cdxml ------ 7/16/2016 3:18 PM 1837 MSFT_NetUDPSetting.cdxml ------ 7/16/2016 3:18 PM 14650 NetIPConfiguration.psm1 ------ 7/16/2016 3:18 PM 2175 NetTCPIP.psd1 ------ 7/16/2016 3:18 PM 74669 Tcpip.Format.ps1xml ------ 7/16/2016 3:18 PM 46755 Tcpip.Types.ps1xml ------ 7/16/2016 3:18 PM 26551 Test-NetConnection.psm1 . |
Pour consulter les informations des cartes réseaux et pour configurer notre carte, nous utiliserons les cmdlets:
-
-
-
- Get-NetIPInterface
- Get-NetAdaptater
- New-NetIPAddress
- Set-NetIPInterface
- Set-DnsClientServerAddress
- Get-DnsClientAddress
-
-
On commence donc par lister les interfaces réseaux, elles ont toute un numéro d’indexe qui nous sera nécessaire par la suite.
Pour cela, on peut utiliser au choix les cmdlets suivante, Il faut noter le numéro d’index de la carte qui se trouve dans la colonne « ifIndex », c’est ce numéro qui nous permettra de paramétrer la carte :
- Get-NetIPInterface , qui comme son nom l’indique va nous lister les interface IP.
- Get-NetAdaptater, qui liste les adaptateurs réseaux.
Ensuite, nous allons configurer l’interface réseau avec la cmdlet :
New-NetIPAddress -InterfaceIndex 21 -IP monIpServeur -PrefixLength TailleMasqueRéseau -DefaultGateway monIPGateway
Erreur de ma part ou pas, mais il semble que pour la cmdlet New-NetIpAddress ce ne soit plus l’argument IP mais IpAddress qui est utilisé
Attention, si votre carte avait déja une adresse IP, il vous faudra au préalable supprimer l’ancienne configuration. Pour cela, il faut utiliser les cmdlet Remove-NetIPAddress et Remove-NetRoute
La cmdlet Remove-NetIpAddress permet de supprimer l’adresse IP et le Mask et la cmdlet Remove-NetRoute permet de supprimer la Gateway (Argument DefaultGateWay)
Remove-NetIpAddress -InterfaceIndex NumeroindexCarte -AddressFamily iIPv4
Remove-NetRoute -InterfaceIndex NumeroindexCarte -AddressFamily iIPv4
Puis, on va ajouter à notre configuration réseau, le ou les serveurs DNS. Pour cela on utilise la commande :
Set-DnsClientServerAddress -InterfaceIndex NumeroindexCarte -ServerAddresses ipServerDNS1,ipServerDNS2
Puis, on peut vérifier la configuration de nos DNS en tapant la commande :
Get-DnsClientServerAddress -InterfaceIndex NumeroindexCarte
Une fois les opérations terminée, vous pouvez vérifier votre configuration en tapant la commande :
Get-NetIPConfiguration
A lire :
- https://docs.microsoft.com/en-us/previous-versions/windows/desktop/wmi_v2/cdxml-overview
- https://livebook.manning.com/book/powershell-deep-dives/chapter-16/3
- https://docs.microsoft.com/en-us/powershell/module/nettcpip/?view=win10-ps
- https://www.it-connect.fr/chapitres/definir-une-configuration-tcpip/
- https://www.petri.com/manage-network-adapters-powershell-addressing-configuration-info
Pingback: Powershell - Support Bundle VMware - Mon Post-It