欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 八卦 > Powershell 获取电脑保存的所有wifi密码

Powershell 获取电脑保存的所有wifi密码

2024/10/24 23:16:06 来源:https://blog.csdn.net/feyehong/article/details/140168121  浏览:    关键词:Powershell 获取电脑保存的所有wifi密码

一. 知识点

  • 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 -AutoSizeWrite-Host '脚本执行结束...' -ForegroundColor Red# 暂停脚本执行
Pause

三. 效果

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com