CheckGateway.ps1 1.4 KB

12345678910111213141516171819202122232425262728
  1. $LocalIP = (Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object {$_.IPEnabled}).DefaultIPGateway
  2. $MacAddress = ((Get-NetNeighbor -IPAddress $LocalIP).LinkLayerAddress)
  3. $PublicIP = ((Resolve-DnsName -Name myip.opendns.com -Server resolver1.opendns.com).IPAddress)
  4. $MacFreebox = "F4-CA-E5","00-07-CB","00-24-D4","14-0C-76","34-27-92","68-A3-78","70-FC-8F","8C-97-EA","E4-9E-12"
  5. $MacLivebox = "00-37-B7"
  6. $MacApple = "BC-B8-63"
  7. $MacXiaomi = "E0-CC-F8"
  8. $MacSplit = $MacAddress -split "-"
  9. $MacPrefix = $MacSplit[0] + "-" + $MacSplit[1] + "-" + $MacSplit[2]
  10. # Checking if Mac Address is known
  11. if($MacFreebox -contains $MacPrefix) # Check for Freebox
  12. {$Router = "a Freebox"}
  13. elseif($MacLivebox -contains $MacPrefix) # Check for Livebox
  14. {$Router = "a Livebox"}
  15. elseif($MacApple -contains $MacPrefix) # Check for Apple Device
  16. {$Router = "an Apple device"}
  17. elseif($MacXiaomi -contains $MacPrefix) # Check for Xiaomi Device
  18. {$Router = "a Xiaomi device"}
  19. else # If router is unknown
  20. {$Router = "Unknown"}
  21. if ($Router -like 'Unknown') # In the case router is unknown
  22. {Write-Host "Router is unknown ($MacAddress). Maybe a randomized MAC address" ; exit 1} # Router is unknown, it's an error, so error code 1
  23. else # In the case router is known
  24. {Write-Host "Gateway is $Router ($MacAddress). `nLocal IP is $LocalIP. `nPublic IP is $PublicIP." ; exit 0} # Router is known, it's ok, error code 0