Jam*_*ton 9 passwords batch-file wifi
在我自愿服务的长期护理医院,每个月的第一天,访客Wi-Fi连接的密码会发生变化.这给员工带来了很多工作,给患者带来了很多挫折感,其中许多人的行动能力非常有限.
(是的,真正的解决方案是让IT团队保持相同的密码,但这不会发生).
大多数患者通过Windows笔记本电脑连接到外部世界.我想创建一个我们可以在他们的计算机上安装的批处理脚本,它将自动检索下个月的密码并在需要时立即应用它.
我可以将下个月的访客密码放在医院内部网络的一个文件中,只有当前拥有本月密码的人才能访问该密码,我可以bitsadmin在批处理脚本中使用该密码来检索本地文件的密码(见下文) ).我可以在每个病人的计算机上设置一个任务,以便在月末之前运行该脚本.
我的问题是:当上个月的密码在新月开始时失败时,如何从批处理脚本更改该网络连接的密码?
我知道我可以用......
netsh wlan show profile name=“INSERT_SSID_HERE” key=clear
Run Code Online (Sandbox Code Playgroud)
...找到当前密码,但我该如何设置呢?
编辑:我发现在Windows Vista及更高版本中,Wi-Fi密码短语存储在XML文件中C:\ProgramData\Microsoft\Wlansvc\Profiles\Interfaces[Interface Guid].xml.它以以下格式显示:
- <sharedKey>
<keyType>passPhrase</keyType>
<protected>true</protected>
<keyMaterial> ** 400+ hexit number ** </keyMaterial>
</sharedKey>
Run Code Online (Sandbox Code Playgroud)
我猜测要更改密码,我需要使用适当的算法加密新密码并更新此XML文件.有没有可以用来自动执行此操作的命令?如果没有,我应该使用什么加密算法?
更简单的替代方法可能是删除加密:
<protected>false</protected>
<keyMaterial>plainTextPassword</keyMaterial>
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试在重新启动计算机后重新启动Wi-Fi连接时,使用已经过这种方式修改的XML文件,连接失败.
优选不需要重启的解决方案.
用于检索密码的批处理脚本
@echo off
setlocal
set file=%~dp0result.txt
bitsadmin /reset
bitsadmin /create /download job
bitsadmin /addfile job http://example.com/password.html %file%
bitsadmin /resume job
timeout 5
bitsadmin /getstate job | find /i "TRANSFERRED" && goto :done
bitsadmin /cancel job
exit /b 1
:done
bitsadmin /complete job
:: results.txt now holds the new password
exit /b 0
Run Code Online (Sandbox Code Playgroud)
您是否尝试删除并重新添加配置文件,而不是仅更改 XML 内容以使用纯密码?
\n\n我过去也遇到过类似的情况,这对我有用:
\n\n此答案假设您只想保留网络上的 WiFi 密码而不是完整的 XML,并且 WiFi 的 SSID 为“My Network ”。
netsh wlan disconnectC:\\:netsh wlan export profile\xc2\xa0folder="C:\\" name="My Network" key=clear--> 这应该创建C:\\Wi-Fi-My Network.xml. 生成的xml文件应该与您在 中看到的文件类似C:\\ProgramData\\Microsoft\\Wlansvc\\Profiles\\Interfaces,但部分<sharedKey>不受保护(这允许我们在下一步中仅进行一次替换)。显然,您也可以通过从Wlansvc,但这样做需要了解接口的 GUID。导出更容易,因为您只需要知道您的 SSID。protected,false并填写keyMaterial纯密码(简单的文本替换,使用 VB 或 C# 应该很容易完成,但如果您需要纯粹在批处理脚本中执行此操作,请参阅更改标签数据使用 Windows 批处理文件的 XML 文件)netsh wlan delete profile name="My Network"netsh wlan add profile filename="C:\\Wi-Fi-My Network.xml"。C:\\ProgramData\\Microsoft\\Wlansvc\\Profiles\\Interfaces,并使用加密的密码。)netsh wlan connect name="My Network"如果您同意存储完整的 XML,您还可以导出未加密的配置文件(步骤 2)并将其存储在网络驱动器中,然后您只需执行步骤 1、4、5 和 6。
\n\n我希望这有帮助。
\n| 归档时间: |
|
| 查看次数: |
4023 次 |
| 最近记录: |