Facebook
From sdqq, 2 Weeks ago, written in Plain Text.
This paste is a reply to qd from qs - view diff
Embed
Download Paste or View Raw
Hits: 151
  1. # Déterminer l'adresse IP de la machine locale
  2. $adresseIPLocale = (Get-NetIPAddress | Where-Object {$_.AddressFamily -eq "IPv4" -and $_.InterfaceAlias -ne "Loopback"}).IPAddress
  3.  
  4. # Vérifier si l'adresse IP locale est correctement définie
  5. if ($adresseIPLocale) {
  6.     # Convertir l'adresse IP locale en chaîne de caractères
  7.     $adresseIPLocaleString = $adresseIPLocale.ToString()
  8.  
  9.     # Définir le préfixe du sous-réseau en fonction de l'adresse IP locale
  10.     $prefixeSousReseau = $adresseIPLocaleString.Substring(0, $adresseIPLocaleString.LastIndexOf("."))
  11.  
  12.     # Liste des adresses IP à tester dans le même sous-réseau
  13.     $adressesIP = @()
  14.     for ($i = 1; $i -le 254; $i++) {
  15.         $adressesIP += "$prefixeSousReseau.$i"
  16.     }
  17.  
  18.     # Découvrir les machines actives sur le réseau
  19.     $machinesActives = @()
  20.     foreach ($adresseIP in $adressesIP) {
  21.         $resultatPing = Test-Connection -ComputerName $adresseIP -Count 1 -Quiet -ErrorAction SilentlyContinue
  22.         if ($resultatPing) {
  23.             $machinesActives += $adresseIP
  24.         }
  25.     }
  26.  
  27.     # Afficher les adresses IP des machines actives sur le réseau
  28.     Write-Host "Machines actives sur le réseau :"
  29.     $machinesActives
  30. } else {
  31.     Write-Host "Erreur : Impossible de récupérer l'adresse IP locale."
  32. }
  33.