powershell - Cmdkey 密码为空

标签 powershell cmd passwords

我正在尝试使用 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/

相关文章:

powershell - 从PSObject转换为Datatable

powershell - TeamCity 与 npm - 错误 : ENOENT, 统计数据 'C:\Windows\system32\config\systemprofile\AppData\Roaming\npm'

powershell - 在 PowerShell 中使用 YQ 时出现引用问题

windows - 如何在 Windows 上使用 x86 perl 系统启动 x64 shell

ssh - OpenNebula-如何在不使用SSH key 的情况下为 guest OS镜像设置root密码?

arrays - 创建一个锯齿状\多维数组,其中包含单个数组

cmd - 如何获取没有文件的文件夹和子文件夹列表?

mysql - 无法使用cmd创建mysql数据库

MySQL接受任何密码

java - 随 secret 码生成器(ASCII - AP 计算机科学)Java