卸载配置单元时发生拒绝访问错误

yhqotfr8  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(675)

windows 7批处理文件-我希望所有当前用户执行“runonce” %1 是for循环中的用户名 %2 是值名称 %3 是值的数据

REG LOAD HKU\TEMP "%1\NTUSER.DAT"
REG ADD HKU\TEMP\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v %2 /t REG_SZ /d %3 /f
REG UNLOAD HKU\TEMP

访问被拒绝时出错 reg unload 执行。我以管理员身份运行,以本地管理员身份登录。没有其他错误。
你能提供一个简单的解决方案吗?

ukdjmx9f

ukdjmx9f1#

有可能 Reg UnLoad 可能会尝试在完成添加新数据之前运行。我添加了一个 Timeout 在下面的示例代码中输入命令,使其稍长一点。

@Echo Off
Set "RKL=SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce"
Set "RKV=%~1"
Set "RKD=%~2"
Set "RKP=Temp"

For /F "UseBackQTokens=1*Delims==" %%A In (`WMIC Path Win32_UserProfile Where^
 "Loaded!='True' And Special!='True'" Get LocalPath /Value 2^>Nul`
) Do For %%C In ("%%B") Do (
    Reg Load "HKU\%RKP%" "%%~C\NTUSER.DAT"
    Timeout 2 /NoBreak>Nul
    Reg Add "HKU\%RKP%\%RKL%" /V "%RKV%" /D "%RKD%" /F>NUL
    Timeout 2 /NoBreak>Nul
    Reg UnLoad "HKU\%RKP%"
)

要使用上述代码,请替换 %~1 以及 %~2 使用之前作为 %2 以及 %3 再试一次。

相关问题