PCでアクセスしたことのあるWiFiのSSIDとPWを取得してCSVに書き出すコマンドレット
PowerShellでWiFi周りの機能確認を兼ねて作ってみた。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
chcp 65001 # 登録済みのWi-Fiリストを取得 $str = netsh wlan show profile | findstr "All User Profile :" $array = $str.Split("`r`n") $array = $array | Sort-Object # リストからSSIDを取り出し、構造体を作りwifiListに入れる $wifiList = @() foreach ($item in $array) { if($item.IndexOf(":") + 2 -lt $item.Length){ $obj = [PSCustomObject]@{ ssid = $item.Substring($item.IndexOf(":") + 2) pw = '' } $wifiList += $obj } } $wifiList.Length # pw取得して構造体に書き込む foreach ($item in $wifiList) { # 文字列をコマンドレットとして実行 $str = Invoke-Expression ('netsh wlan show profiles name="' + $item.ssid + '" key=clear') $str = $str | findstr "Key Content" if($str.Length -gt 3){ if($str.IndexOf(":") + 2 -lt $str.Length){ $item.pw = $str.Substring($str.IndexOf(":") + 2) } } } # ファイル出力 $wifiList | Export-Csv "wifilist.csv" -Encoding default -NoTypeInformation |
ファイル
https://github.com/umhr/getWiFiList
アイキャッチ画像は
「PowerShellでWiFiリストを取得する真珠の首飾りの少女。フェルメール油絵風」を英語にしてStable Diffusionで生成