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.

Code TEXT :
Restart-Computer


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