admin管理员组文章数量:1627759
一. 知识点
netsh wlan show profiles
- 用于显示计算机上已保存的无线网络配置文件
Measure-Object
- 用于统计数量
[PSCustomObject]@{ }
- 用于创建Powershell对象
[math]::Round
- 四舍五入
Write-Progress
- 显示进度条
二. 代码
- 只能获取中文Windows操作系统的wifi密码
- 如果想获取英文获取日文,需要把
Select-String
后面的汉字改为对应系统的语言的文字
Write-Host '脚本执行开始...' -ForegroundColor Red
# 获取出所有的wifi名称
$wifi_name_list = netsh wlan show profiles | Select-String "所有用户配置文件" | ForEach-Object {
# 过滤出所有wifi名称(将wifi名之外的部分替换为空字符串)
$_ -replace ".*:\s+", ""
}
# 获取wifi名称的总数量
$wifi_list_count = ($wifi_name_list | Measure-Object).Count
# 存放wifi信息的数组
$wifi_object_array = @()
# 根基wifi名称获取wifi信息
for ($i = 1; $i -le $wifi_list_count; $i++) {
# 创建一个Powershell自定义对象,并添加到数组中
$wifi_object_array += [PSCustomObject]@{
wifi名称 = $wifi_name_list[$i]
# 根据wifi名称获取wifi密码
wifi密码 = netsh wlan show profile name="$($wifi_name_list[$i])" key=clear | Select-String "关键内容" | ForEach-Object { $_ -replace ".*:\s+", "" }
}
# 计算当前进度
$progress = [math]::Round(($i / $wifi_list_count) * 100)
# 更新进度条
Write-Progress -Activity "ヾ(•ω•`)oWiFi密码获取ヾ(•ω•`)o" -Status "当前进度: $progress%" -PercentComplete $progress
}
# 完成时清除进度条
Write-Progress -Activity "ヾ(•ω•`)oWiFi密码获取ヾ(•ω•`)o" -Status "Completed!" -Completed
# 打印wifi对象信息
$wifi_object_array | Format-Table -AutoSize
Write-Host '脚本执行结束...' -ForegroundColor Red
# 暂停脚本执行
Pause
三. 效果
本文标签: 密码电脑powershellwifi
版权声明:本文标题:Powershell 获取电脑保存的所有wifi密码 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1729001598a1182653.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论