A common SysAdmin task involves managing a PowerShell IP configuration. Typically, one performs this task using the GUI, which is OK. But PowerShell can do the same job and more, which you can put into scripting.
Dans ce tutoriel, vous apprendrez à utiliser quelques cmdlets de gestion réseau dans PowerShell pour aider à gérer l’adresse IP, la passerelle et les paramètres DNS d’un hôte Windows.
Continuez à lire et améliorez vos compétences en dépannage réseau avec les commandes de configuration IP PowerShell !
Prérequis
Ce tutoriel comprend des démonstrations pratiques. Vous aurez besoin d’un accès administratif à PowerShell sur un système d’exploitation Windows moderne pour suivre. Ce tutoriel utilise Windows Server 2022, mais les commandes fonctionnent également sur les versions de Windows 10 et ultérieures.
Obtention des propriétés de l’adaptateur réseau (Get-NetAdapter
)
Pour le dépannage ou la collecte de l’adresse IP d’un hôte, vous pourriez utiliser des outils traditionnels comme ping
, ipconfig
, ou sconfig
. Mais avec les cmdlets PowerShell, vous pouvez automatiser ce processus.
Ouvrez PowerShell et exécutez le cmdlet Get-NetAdapter
ci-dessous pour obtenir la liste des adaptateurs réseau et leurs propriétés, telles que InterfaceAlias et InterfaceIndex.

Notez que votre adaptateur n’a pas encore d’objet Adresse IP. Vous devez savoir lequel vous allez utiliser. Pour ce tutoriel, vous travaillez avec l’alias d’adaptateur Ethernet.
Récupération d’une adresse Configuration IP PowerShell (Get-NetIPAddress
)
Vous avez précédemment répertorié toutes les interfaces réseau avec une seule commande. Mais vous pouvez également répertorier les valeurs de propriété et l’adresse IP actuelle de votre hôte via la commande Get-NetIPAddress
.
Exécutez la commande ci-dessous (sans paramètres) pour afficher l’adresse de chaque adaptateur et la configuration IP de PowerShell.

Maintenant, exécutez la commande suivante pour affiner la sortie (Select-Object) vers l’alias d’interface InterfaceAlias
et IPAddress
de l’Ethernet.

Obtention des informations de routage IP (Get-NetRoute
)
Une adresse IP permet à un hôte de communiquer avec d’autres sur le même réseau. Mais que se passe-t-il lorsque l’hôte doit communiquer en dehors de ce réseau?
A gateway address is necessary, and the Get-NetRoute
cmdlet is what you need. This cmdlet provides information that previous cmdlets you have learned about do not.
Exécutez la commande Get-NetRoute
ci-dessous pour vérifier la passerelle actuelle (NextHop
) pour l’interface Ethernet
.
Typiquement, un serveur DHCP fournit l’adresse de la passerelle. Vous voudrez capturer cette adresse ultérieurement pour cet article.

Obtention des adresses IP des serveurs DNS (Get-DnsClientServerAddress
)
Le DNS est nécessaire pour la résolution des noms à la fois pour les réseaux internes et externes. Sans DNS, vous devriez vous rappeler de l’adresse Internet de chaque hôte sur votre réseau.
Mais il est probable que votre hôte ait déjà configuré le DNS via DHCP. Vous pouvez utiliser la cmdlet Get-DnsClientServerAddress
pour vérifier la configuration actuelle.
Enregistrez les adresses IP en redirigeant la sortie vers un fichier texte ou en les écrivant. Vous devrez réassigner ces adresses de serveur DNS plus tard dans ce tutoriel.

Obtention des configurations de réseau IP (Get-NetIPConfiguration
)
Lorsque vous avez besoin des informations des trois cmdlets précédentes apprises en une fois, la cmdlet Get-NetIPConfiguration
fera l’affaire. Une caractéristique importante de cette cmdlet est qu’elle fournit des informations plus ciblées.
Exécutez la cmdlet Get-NetIPConfiguration
ci-dessous pour afficher les configurations de réseau IP recueillies par les cmdlets précédentes que vous avez exécutées.

La cmdlet Get-NetIPConfiguration est plus rapide si vous n’avez qu’une seule interface réseau. Mais si vous avez plus d’une interface réseau, vous devrez peut-être filtrer les propriétés pour éviter le défilement de la console.
Configuration manuelle de l’adresse IP, de la passerelle et des serveurs DNS
Avec les cmdlets que vous avez apprises jusqu’à présent, il est temps de mettre vos nouvelles connaissances en pratique. Pour ce tutoriel, vous attribuerez une adresse IP statique, une passerelle et des serveurs DNS à un hôte Windows Server 2022.
Les commandes à partir de ce point ne modifient que l’adresse IP, la passerelle et les paramètres DNS pour l’adaptateur réseau spécifié. Vous devez répéter ces étapes pour chaque adaptateur que vous souhaitez modifier.
1. Ouvrez PowerShell en tant qu’administrateur, et exécutez la commande suivante pour répertorier les adaptateurs réseau sur votre serveur.
Commande pour trouver les adaptateurs réseau installés
Identifiez l’adaptateur réseau que vous souhaitez modifier. Vous pouvez utiliser le nom de l’adaptateur ou le numéro d’index affiché dans la liste (par exemple, Ethernet).

2. Ensuite, exécutez la commande Net-NetIPAddress
ci-dessous pour changer l’adresse IPv4 de votre adaptateur réseau. La -PrefixLength
de 24
indique qu’elle utilise les 24 premiers bits de l’adresse IP pour la partie réseau de l’adresse. Assurez-vous de remplacer les éléments suivants en conséquence :
AdapterName
– Le nom ou le numéro d’index de votre adaptateur réseau cible.ServerAddress
– L’adresse IPv4 à ajouter à l’adaptateur réseau.GatewayAddress
– L’adresse de passerelle doit être dans le même sous-réseau que l’adresse IPv4.

En relation avec la commande New-NetIPAddress, il y a Set-NetIPAddress, qui modifie la configuration IP existante, tandis que Remove-NetIPAddress supprime une configuration.
3. Maintenant, exécutez la commande suivante Set-DnsClientServerAddress
, qui ne produit pas de sortie, mais modifie les serveurs DNS. Assurez-vous de remplacer AdapterName
par le nom de votre adaptateur réseau (-InterfaceAlias
) ou le numéro d’index (-InterfaceIndex
). Cette commande définit les serveurs DNS pour votre adaptateur réseau sur les serveurs DNS publics de Google à l’adresse 8.8.8.8
et 8.8.4.4
. Mais vous pouvez spécifier n’importe quelle adresse IP de serveur DNS valide.
Notez qu’avec la cmdlet Set-DnsClientServerAddress, vous pouvez attribuer une ou plusieurs adresses IP DNS internes ou orientées vers l’extérieur.
4. Enfin, exécutez la commande suivante Restart-NetAdapter
, qui n’affiche pas de sortie dans la console mais redémarre votre adaptateur réseau et applique les modifications. Félicitations ! Vous venez de configurer manuellement l’interface réseau avec une configuration personnalisée.
Si votre hôte n’a qu’un seul adaptateur, comme dans ce tutoriel, vous pouvez perdre temporairement la connectivité, selon la manière dont vous êtes connecté. Cette dernière étape est essentielle pour commencer à utiliser la nouvelle adresse IP.
Conclusion
Connaître la configuration de votre réseau est crucial pour maintenir un réseau en bonne santé. La bonne nouvelle, c’est que vous avez appris quatre commandes de configuration de base du réseau disponibles à partir des cmdlets de configuration IP PowerShell.
Avec cette nouvelle connaissance, vous pouvez facilement créer un script en utilisant les capacités de configuration IP PowerShell dans le cadre d’un processus de configuration de serveur plus large.
Que faire ensuite ? Pourquoi ne pas essayer d’ajuster des options plus avancées comme le MTU, ajouter plus de routes, ou réinitialiser un adaptateur pour utiliser DHCP au lieu d’une adresse statique ?
Source:
https://adamtheautomator.com/powershell-ip-configuration/