当用户通过任务计划程序运行 RDP 图标时如何运行批处理文件?

当用户通过任务计划程序运行 RDP 图标时如何运行批处理文件?

我正在使用 Windows 10,正在寻找一种清除 RDP 历史记录(IP 地址、用户名和密码)的方法。如您所知,RDP 历史记录会一直列出,并且无法删除,只有通过注册表编辑器或从 Documents 文件夹中删除默认 RDP 图标时才能删除。

我有这个批处理文件:

echo off
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default" /va /f
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers"
cd %userprofile%\documents\
attrib Default.rdp -s -h
del Default.rdp

这正是我需要的 - 它删除了所有凭据和 IP 地址。问题是当我尝试使用 Windows 任务计划程序在触发条件运行时运行此批处理文件时。(我正在寻找的条件是当用户单击或运行 RDP 连接时)。

手动运行任务是可行的,但当我单击 RDP 连接时它不起作用 - 如何解决这个问题?我不介意它以其他方式工作,例如当用户退出/断开与 RDP 会话的连接时。我只关心当用户想要创建新会话时不要显示任何凭据。

谢谢

编辑:

任务调度程序属性的屏幕截图: 在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

以上是在管理员帐户下创建的。

答案1

RDP 命令被调用mstsc并且应该已经在 PATH 中,因为它位于 中C:\Windows\System32

既然您提到了启动 RDP 的图标,您可以用调用脚本的图标替换它,该脚本将清除历史记录并启动mstsc

例如:

echo off
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default" /va /f
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers" /f
reg add "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers"
cd %userprofile%\documents\
attrib Default.rdp -s -h
del Default.rdp
"C:\Windows\System32\mstsc.exe"

如果你希望在mstsc完成工作后清除历史记录,你可以使用免费的 自动热键。您可以使用 AutoHotkey 脚本每隔几秒检查一次mstsc 运行情况,启动计时器,然后在终止时清除历史记录。

相关内容