powershell - Cmdkey 密码为空
问题描述
我正在尝试使用 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
.
从那时起,您应该能够使用空白密码远程登录该计算机。
注意:此设置当然会带来安全风险。
阅读帐户:将使用空白密码的本地帐户限制为仅限控制台登录
推荐阅读
- javascript - 反应路由器:pushstate后的空白页面
- php - 在数据透视表中使用 eloquent 保存数据
- python - 从两个表中获取帖子?
- spring - 加速 Netflix-Eureka 注销不适用于 Spring Boot
- javascript - 为什么我不能设置我的 HTML 元素的“值”属性?
- node.js - Facebook Ads API 已弃用,请更新至最新版本 v3.0
- node.js - 如何从nodejs Google Tasks API中的任务列表中获取具有截止日期的任务?
- symfony - 具有由 3 个字段组成的组合主键的单个表上的教义映射
- swift - 我们可以检测何时找不到动态图像文字吗?
- azure - 每次重新启动时 Azure 应用服务都会中断