PowerShell/Réseau
Aller à la navigation
Aller à la recherche
Réseau
Vidéo de référence :
- chaine YouTube de PowerShell Engineer : https://www.youtube.com/@PowerShellEngineer
- 21 One Line PowerShell Networking Commands : https://www.youtube.com/watch?v=lgginAiOEXo
Get-NetAdapter
Liste des périphériques réseaux :
Get-NetAdapter
Get-NetAdapter | ? { $_.Status -eq "up"}
Get-NetAdapter | Format-Table -Autosize
Get-NetAdapter | Select-Object -Property Name, MacAddress
Rename-NetAdapter
Renommer une interface réseau :
Rename-NetAdapter -Name AncienNom -NewName NouveauNom
Rename-NetAdapter -Name Ethernet -NewName Wifi-Orange-box
Rename-NetAdapter -Name "Ethernet 2" -NewName Wifi-Orange-Airbox
Get-NetIPAddress
Liste de toutes les interfaces réseaux, physiques ou virtuelles:
Get-NetIPAddress
Get-NetIPAddress | Format-Table -Autosize
Test-Connection
L'équivalent de la commande ping
:
Test-Connection -ComputerName www.google.fr
- en plus court :
Test-Connection www.google.fr
Clear-DnsClientCache
Clear-DnsClientCache
Pour actualiser le cache DNS :
Get-DnsClientCache
Get-NetAdapterAdvancedProperty
Liste des propriétés avancée de l'interface nommée "Ethernet" :
Get-NetAdapterAdvancedProperty -Name Ethernet
(Source : it-connect.fr)
Ping
Ping sur une seule adresse, avec résultat dans un fichier
# Test de ping avec enregistrement dans un fichier $IP = "192.168.1.1" $Fichier = "ping-$IP.log" $Dossier = "C:\Support\" if (!(test-path $Dossier)) { New-Item $Dossier -ItemType "directory" } Ping -t $IP | Foreach{"{0};{1}" -f (Get-Date -Format "yyyyMMdd-HHmmss"), $_} | Out-File "$Dossier\$Fichier" -Encoding utf8
Le résultat sera un fichier créé :
- nom du fichier :
ping-192.168.1.1.log
; - dossier :
C:\Support\
- contenu du fichier :
20221226-224738;Envoi d'une requête 'Ping' 192.168.1.1 avec 32 octets de données : 20221226-224739;Réponse de 192.168.1.1 : octets=32 temps=2 ms TTL=64 20221226-224740;Réponse de 192.168.1.1 : octets=32 temps=4 ms TTL=64 20221226-224741;Réponse de 192.168.1.1 : octets=32 temps=4 ms TTL=64 20221226-224742;Réponse de 192.168.1.1 : octets=32 temps=4 ms TTL=64 20221226-224743;Réponse de 192.168.1.1 : octets=32 temps=4 ms TTL=64 20221226-224744;Réponse de 192.168.1.1 : octets=32 temps=4 ms TTL=64 ...
Ping sur une plage
Plage d'adresses
<# Description : ping sur une plage IP, avec la commande PowerShell "Test-Connection", sur la plage 192.168.1.1 à 192.168.1.254 Usage : exercice en PowerShell Auteur : fylip22 Version : 1.0 Révisions : - 1.0 (28/03/2024) : création du script #> # indiquer le début de la plage IP sous la forme "xxx.xxx.xxx." $ipPlage = "192.168.1." # génération d'une liste avec la première valeur "192.168.1.1" et la dernière valeur "192.168.1.254" $ressourceListe = (1..254).ForEach{"{0}{1}" -f $ipPlage, $_} Clear-Host Write-Host "Début du traitement" foreach ($ressource in $ressourceListe ) { Write-Host ("test sur IP {0} : " -f $ressource) -nonewline Test-Connection -ComputerName $ressource -count 1 -Quiet } Write-Host "Fin du traitement"
Plage d'éléments
<# Description : ping sur une plage d'élément, avec la commande PowerShell "Test-Connection" Usage : exercice en PowerShell Auteur : fylip22 Source : inspiré par le script de It-Connect, https://www.it-connect.fr/comment-faire-un-ping-sur-plusieurs-machines-avec-powershell/ Version : 1.0 Révisions : - 1.0 (11/12/2024) : création du script #> # indiquer une liste ## liste d'IP $liste = (1..3).foreach{"{0}{1}" -f "192.168.1.", $_ } ## liste d'ordinateurs $liste = @("php001","php100","php101") ## liste d'ordinateurs de la forme PHPnnn $liste = (1..26).ForEach{"{0}{1:d3}" -f "PHP", $_} Clear-Host $horodatage = Get-Date -UFormat "%Y%m%d-%H%M%S" ; Write-Host "$horodatage ; Début du traitement pour les éléments de $($liste[0]) à $($liste[-1])" foreach ($element in $liste) { $resultat = Test-Connection -ComputerName $element -Count 1 -ErrorAction SilentlyContinue $horodatage = Get-Date -UFormat "%Y%m%d-%H%M%S" if($resultat) { Write-Host "$horodatage ; $element ; $($resultat.IPV4Address) ; en ligne" -ForegroundColor Green } else { Write-Host "$horodatage ; $element ; - ; hors ligne" -ForegroundColor Red } } $horodatage = Get-Date -UFormat "%Y%m%d-%H%M%S" ; Write-Host "$horodatage ; Fin du traitement"
Code wifi
Pour récupérer le code wifi d'une connexion existante :
netsh wlan show profiles name="Livebox-6F5C" key=clear
avec :
Livebox-6F5C
comme nom du réseau sans fil (SSID ou nom de la box)
Une partie du résultat, et le mot de passe à l'entrée "Contenu de la clé " :
Paramètres de sécurité ----------------- Authentification : WPA2 - Personnel Chiffrement : CCMP Authentification : WPA2 - Personnel Chiffrement : GCMP Clé de sécurité : Présent Contenu de la clé : 45C2094726B2A1BB281C4F030A