0

我需要在安全模式下重新启动后运行一次进程,该过程是这样的:

bcdedit.exe /import "%WINDIR%\Restore BootLoader Settings.bcd"

我尝试使用 RunOnce 键,但我注意到键不会在安全模式启动下运行,所以......是否存在任何其他方式来在安全模式启动中运行该死的进程?

更明确地说,这就是我想要做的:

  1. 在正常模式或任何其他模式下,我会导出所有引导加载程序条目的当前设置。

  2. 然后我更改了当前引导加载程序条目的一些参数,然后我重置了 PC。

  3. 这就是问题所在,例如,当以安全模式再次登录 Windows 时,我需要在我的新更改之前恢复(导入)设置,以便在重置机器时无法在安全模式下启动。

我怎样才能做到这一点?

这是我的 vbs 脚本:

' Restart in Safe Mode
' By Elektro H@cker

If Not Msgbox( _
    "¿Seguro que quieres reiniciar el equipo?", _
    4 or 48, _
    "Reiniciar en Modo Seguro..." _
    ) = vbNo _
Then

Set wshShell = WScript.CreateObject("WScript.Shell")

TempFile = """" & wshShell.ExpandEnvironmentStrings("%WINDIR%") & "\" & "Bcdedit settings.bcd" & """"

wshShell.Run "bcdedit /export " & TempFile, 0, True
wshShell.Run "bcdedit /set {current} safeboot minimal", 0, True

wshShell.RegWrite _
"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Restore BootLoader Settings",  _
"bcdedit.exe /import " & TempFile, _
"REG_SZ"

wshShell.Run "shutdown -r -t 00 -f", 0, True

万一

4

1 回答 1

4

我刚刚在这里学到了一些新东西:

根据:http: //msdn.microsoft.com/en-us/library/aa376977%28v=vs.85%29.aspx

默认情况下,当计算机以安全模式启动时,这些键会被忽略。RunOnce 键的值名称可以以星号 (*) 为前缀,以强制程序即使在安全模式下也能运行。

于 2013-09-16T07:08:17.880 回答