是否可以将系统命令插入 runOnce 注册表项/值?

是否可以将系统命令插入 runOnce 注册表项/值?

就上下文而言,我有一个运行过程的脚本,然后重新启动计算机,重新启动后需要递归删除一个目录。

是否可以通过使用“内置”Windows 10 命令(通过直接或内联调用)作为 runOnce 注册表项对中的注册表值来实现?

答案1

脚本可以在注册表中插入 RUNONCE 键,以便仅在特定用户重新启动或登录时执行一次操作。更新注册表需要管理员权限。

注册表项包括:

  • 重启时:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
  • 当前用户 :HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

要使 RunOnce 键仅在其任务成功运行时才被删除,请在键名称值前面添加感叹号!

如果您希望 RunOnce 命令即使在安全模式下也能运行,请在键名称值前面添加星号*

RunOnce 脚本不应该在注册表中插入新的 RunOnce 条目。

例子:

对于重启

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /v RunScript /t REG_SZ /d "\"C:\\setup\\script.cmd\""

对于当前用户(HKEY_CURRENT_USER)

reg add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v RunScript /t REG_SZ /d "\"C:\\setup\\script.cmd\"" /f

对于特定用户(HKEY_USERS)

reg add HKU\S-1-5-21-3492930481-2827506072-2794401122-1001\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v RunScript /t REG_SZ /d "\"C:\\setup\\script.cmd\"" /f

所有用户资料

FOR /D %%D IN ("C:\Users\*") DO IF EXIST "%%D\NTUSER.DAT" REG LOAD HKU\TEMP "%%D\NTUSER.DAT" && (reg add HKU\TEMP\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v Reg_Value /t REG_SZ /d Reg_Data /f & REG UNLOAD HKU\TEMP)

相关内容