Windows

PowerShell : Commandes PowerShell d'administration

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

icone_carte_reseau



Introduction



Dans cet article, nous allons voir comment gérer le réseau sous Windows Server 2019 en PowerShell.
Définition d'IP, du nom d'hôte et de la zone du pare-feu.

Adressage IP



Obtenir des informations



Pour obtenir les informations sur les interfaces IP, on utilisera la commande Get-NetIPInterface :

Code TEXT :
ifIndex InterfaceAlias                  AddressFamily NlMtu(Bytes) InterfaceMetric Dhcp     ConnectionState PolicyStore
------- --------------                  ------------- ------------ --------------- ----     --------------- -----------
6       Ethernet0                       IPv6                  1500              25 Enabled  Connected       ActiveStore
1       Loopback Pseudo-Interface 1     IPv6            4294967295              75 Disabled Connected       ActiveStore
6       Ethernet0                       IPv4                  1500              25 Enabled  Connected       ActiveStore
1       Loopback Pseudo-Interface 1     IPv4            4294967295              75 Disabled Connected       ActiveStore


Pour obtenir les informations sur les adaptateurs réseaux (cartes), on utilisera la commande Get-NetAdapter :

Code TEXT :
Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
Ethernet0                 Intel(R) 82574L Gigabit Network Conn...       6 Up           00-0C-29-67-42-C6         1 Gbps


Pour avoir un récap de la config réseau, c'est Get-NetIPConfiguration :

Code TEXT :
InterfaceAlias       : Ethernet0
InterfaceIndex       : 6
InterfaceDescription : Intel(R) 82574L Gigabit Network Connection
NetProfile.Name      : Réseau non identifié
IPv4Address          : 192.168.221.1
IPv6DefaultGateway   :
IPv4DefaultGateway   : 192.168.221.254
DNSServer            : 192.168.221.1



Définir une adresse IP



Pour définir une adresse IP, on utilisera New-NetIPÄddress.

La définition d'une IP Fixe entraine la désactivation du DHCP.
Voici un exemple pour l'IP 192.168.221.1/24 avec une passerelle à 192.168.221.254 (on repère bien l'index de l'interface, ici 6) :

Code BASH :
New-NetIPAddress -InterfaceIndex 6 -IPAddress 192.168.221.1 -PrefixLength 24 -DefaultGateway 192.168.221.254


Après application des paramètres, on a le récapitulatif suivant :

Code TEXT :
IPAddress         : 192.168.221.1
InterfaceIndex    : 6
InterfaceAlias    : Ethernet0
AddressFamily     : IPv4
Type              : Unicast
PrefixLength      : 24
PrefixOrigin      : Manual
SuffixOrigin      : Manual
AddressState      : Tentative
ValidLifetime     : Infinite ([TimeSpan]::MaxValue)
PreferredLifetime : Infinite ([TimeSpan]::MaxValue)
SkipAsSource      : False
PolicyStore       : ActiveStore
 
IPAddress         : 192.168.221.1
InterfaceIndex    : 6
InterfaceAlias    : Ethernet0
AddressFamily     : IPv4
Type              : Unicast
PrefixLength      : 24
PrefixOrigin      : Manual
SuffixOrigin      : Manual
AddressState      : Invalid
ValidLifetime     : Infinite ([TimeSpan]::MaxValue)
PreferredLifetime : Infinite ([TimeSpan]::MaxValue)
SkipAsSource      : False
PolicyStore       : PersistentStore


Activer / Désactiver DHCP



Pour désactiver la réception d'une IP par DHCP, on utilisera :

Code TEXT :
Set-NetIPInterface -InterfaceIndex 6 -Dhcp Disabled


A noter : La configuration DHCP est automatiquement désactivée si on définit une IP Fixe !

Et pour réactiver la réception d'une IP par DHCP, on utilisera :

Code TEXT :
Set-NetIPInterface -InterfaceIndex 6 -Dhcp Enabled



Définition des DNS



La définition du serveur DNS se fait dans un autre temps. C'est la commande Set-DnsClientServerAddress qui nous permettra de modifier le DNS.

Pour obtenir des infos sur le DNS, on utilisera la commande Get-DnsClientServerAddress :

Code TEXT :
InterfaceAlias               Interface Address ServerAddresses
                             Index     Family
--------------               --------- ------- ---------------
Ethernet0                            6 IPv4    {}
Ethernet0                            6 IPv6    {fec0:0:0:ffff::1, fec0:0:0:ffff::2, fec0:0:0:ffff::3}
Loopback Pseudo-Interface 1          1 IPv4    {}
Loopback Pseudo-Interface 1          1 IPv6    {fec0:0:0:ffff::1, fec0:0:0:ffff::2, fec0:0:0:ffff::3}


On définit un nouveau DNS (ici 192.168.221.1) ainsi (on repère bien l'index de l'interface, ici 6) :

Code TEXT :
Set-DnsClientServerAddress -InterfaceIndex 6 -ServerAddresses 192.168.221.1


Pour définir un suffixe DNS, c'est la commande Set-DnsClient (on repère bien l'index de l'interface, ici 6) :

Code TEXT :
Set-DnsClient -InterfaceIndex 6 -ConnectionSpecificSuffix linuxtricks.lan



Changer le nom d'hôte



Pour obtenir le nom d'hôte (j'ai pas trouvé en PowerShell très simple) :

Code TEXT :
hostname


Pour changer le nom d'hôte, on utilisera Rename-Computer :

Code TEXT :
Rename-Computer -NewName "SRV-DCTEST01"


Il faut rebooter pour prendre en compte.

Changer la zone du parefeu



Parfois, la zone du parefeu par défaut est "Public".

Pour obtenir les infos sur la zone utilisée, on utilisera Get-NetConnectionProfile :

Code TEXT :
Name             : Réseau
InterfaceAlias   : Ethernet0
InterfaceIndex   : 12
NetworkCategory  : Public
IPv4Connectivity : Internet
IPv6Connectivity : NoTraffic


Pour changer de Public vers Privé (Private), on utilisera Set-NetConnectionProfile, avec le nom du réseau précédemment listé :

Code TEXT :
Set-NetConnectionProfile -Name "Réseau" -NetworkCategory Private