Ostatnio zmieniam mojego starego laptopa (Toshiba Z30) na Surface Pro LTE, w związku z migracją do rozwiązania jest problem przeniesienia listy sieci bezprzewodowych i haseł do nich.
Oczywiście można ręcznie przeklikać się przez sieci i pospisywać hasła, ale nikomu tego nie polecam. Szukanie dedykowanych programów, które to zrobią też mija się z celem, bo od czego mamy PowerShella :)
Poniżej publikuję funkcję, która bazuje na skrypcie znalezionym gdzieś w Google, a która zwraca hasha z nazwą sieci oraz hasłem do niej:
function Get-WifiCredentials() {
mkdir wifi
cd wifi
netsh wlan export profile key=clear
$credentials = @{}
Get-ChildItem *.xml | % {
$xml=[xml] (Get-Content $_)
$name = $xml.WLANProfile.SSIDConfig.SSID.name
$key = $xml.WLANProfile.MSM.Security.sharedKey.keymaterial
if (![String]::IsNullOrWhitespace($key))
{
$credentials.Add($name, $key)
}
}
cd ..
rmdir -recurse wifi
return $credentials
}


Dodaj komentarz