在安全模式下运行RunOnce进程?

时间:2013-09-15 16:04:46

标签: windows vbscript console runonce bcdedit

我需要在安全模式下重启后运行一次进程,过程如下:

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

我尝试使用RunOnce密钥,但我注意到密钥不能在安全模式启动下运行,所以...存在以安全模式启动运行该死程序的任何其他方式?

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

  1. 在正常模式或其他任何模式下,我导出所有Boot Loader条目的当前设置。

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

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

  4. 我该怎么做?

    这是我的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
    

    结束如果

1 个答案:

答案 0 :(得分:2)

我刚学到了一些新东西:

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

  

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