我正在尝试使用 Powershell 启动与没有密码的用户的计算机的远程桌面连接。 cmdkey 命令似乎不接受空密码,而是通过提示询问我输入密码。
我需要从 Powershell 脚本启动远程桌面,因为它需要随意连接到多台计算机中的任何一台,因此不能将凭据保存到远程桌面。
我曾尝试使用诸如“”、$null、“”“”、“^”、` 之类的东西,但这些都不起作用,它们要么根本不是密码,要么是错误的密码,要么只是卡住了 Powershell 脚本。对于在同一台机器上具有密码的帐户,相同的确切代码可以正常工作。
$username=
$IPAddress=
cmdkey /generic:$IPAddress /user:$username
mstsc /v:$IPAddress /admin
Start-Sleep -Seconds 1
cmdkey /delete:"LegacyGeneric:target=$IPAddress"
脚本要么要求输入密码,要么远程桌面提示输入密码,但随后接受只按“确定”并输入空密码,或者在某些情况下整个脚本卡住。
它应该只是连接,因为空密码是正确的。
最佳答案
Windows 将不允许使用空白密码通过网络登录。但是,您可以在目标计算机上执行一个注册表设置来禁用此行为:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"LimitBlankPasswordUse"=dword:00000000
一种“更简洁”的设置方法是在目标计算机上使用组策略编辑器 (gpedit.msc)。
导航到 计算机配置 -> Windows 设置 -> 安全设置 -> 本地策略 -> 安全选项 并搜索选项
Accounts: Limit local account use of blank passwords to console logon only
双击该选项并勾选
Disabled
.从那时起,您应该能够使用空白密码远程登录该计算机。
备注 : 这个设置当然会带来安全风险。
阅读 Accounts: Limit local account use of blank passwords to console logon only
关于powershell - Cmdkey 密码为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57603592/