HKLM 中的注册表项对于 SYSTEM 来说“不可见”吗?

HKLM 中的注册表项对于 SYSTEM 来说“不可见”吗?

我想允许所有用户执行计划任务. 剧本成立/已调整以管理员身份运行时工作正常,但以系统身份运行时(即作为启动或 SCCM 脚本)失败。

以 SYSTEM 帐户的身份浏览代码后,我发现 SYSTEM 帐户无法看到 下的 95% 子项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree。无论我使用 PowerShell 还是直接以 SYSTEM 帐户身份打开 Regedit,那里都(几乎)什么都没有。但是,普通管理员可以看到数十个子项及其所有属性。

真正奇怪的是,原始问题的解决方案需要以 SYSTEM 帐户运行的任务会修改“隐藏/受保护”子密钥之一。它有效,但只能以管理员身份运行。我需要能够以 SYSTEM 身份查看/读取密钥。

SYSTEM 帐户为何无法看到 HKLM 中的注册表项?

谢谢。

答案1

不要使用保留帐户 SYSTEM,因为它不是一个真实的帐户。

创建任务时,使用“更改用户或组”将用户帐户设置为“用户”,方法是 users在对象名称字段中输入内容,然后单击“检查名称”,然后单击“确定”。

还设置“仅在用户登录时运行”。

这样,所有用户都将能够手动运行该任务。


Windows 10 最新版本注意事项:

现在执行schtasks /run此操作需要管理员权限,因此非管理员用户不再可能这样做。在最新版本的 Windows 中,微软现在已经关闭了非管理员用户可以通过任务计划程序启动管理员任务的漏洞,因此这种多年来一直有效的方法现在不再可行。

仍然有效的替代解决方案是实用程序 运行方式,免费供私人使用,描述如下:

以另一个用户身份运行应用程序或从受限帐户(如命令)以管理员身份启动程序runas,但无需在每次启动时输入登录信息。

相关内容