functions/Get-WiFiKnownPasswords.ps1
function Get-WiFiKnownPasswords { <# .SYNOPSIS List all known WiFi Passwords .DESCRIPTION Retrieves the known WiFi passwords using netsh and displays them in a table. .EXAMPLE Get-WiFiKnownPasswords .NOTES Version 1.1.0 #> [Cmdletbinding()] Param() $WLANList = (netsh.exe wlan show profiles) -match ': ' $WifiNetworks = @() $Output = @() foreach ($WLAN in $WLANList) { $WifiNetworks += ($WLAN -split ': ')[-1] } foreach ($WifiNetwork in $WifiNetworks) { $WifiDetails = netsh wlan show profile $WifiNetwork key=clear if ((($WifiDetails -match 'Authentication') -split ': ')[-1] -eq 'WPA2-Enterprise') { $WiFiPassword = 'Enterprise Profile - Password Not Available' } else { $WiFiPassword = (($WifiDetails -match 'Key Content') -split ': ')[-1] } $Output += [PSCustomObject]@{ Name = (($WifiDetails -match '(?-i)Name') -split ': ')[-1] Password = $WiFiPassword } } return $Output | Sort-Object Name } |