Я использую сценарий для повышения прав администратора (потому что я хочу отключить защиту от записи на диске c: с помощью ewfmgr). Сценарий работает нормально почти каждый раз. Но иногда после выполнения скрипта я получаю синий экран, как показано ниже:

Мой сценарий:

::::::::::::::::::::::::::::::::::::::::::::
 @echo off
 CLS
 ECHO.
 REM ECHO =============================
 REM ECHO Running Admin shell
 REM ECHO =============================

:init
 setlocal DisableDelayedExpansion
 set cmdInvoke=0
 set winSysFolder=System32
 set "batchPath=%~0"
 for %%k in (%0) do set batchName=%%~nk
 set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs"
 setlocal EnableDelayedExpansion

:checkPrivileges
  NET FILE 1>NUL 2>NUL
  if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )

:getPrivileges
  if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)
  ECHO.
  REM ECHO **************************************
  REM ECHO Invoking UAC for Privilege Escalation
  REM ECHO **************************************

  ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"
  ECHO args = "ELEV " >> "%vbsGetPrivileges%"
  ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%"
  ECHO args = args ^& strArg ^& " "  >> "%vbsGetPrivileges%"
  ECHO Next >> "%vbsGetPrivileges%"

  if '%cmdInvoke%'=='1' goto InvokeCmd 

  ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%"
  goto ExecElevation

:InvokeCmd
  ECHO args = "/c """ + "!batchPath!" + """ " + args >> "%vbsGetPrivileges%"
  ECHO UAC.ShellExecute "%SystemRoot%\%winSysFolder%\cmd.exe", args, "", "runas", 1 >> "%vbsGetPrivileges%"

:ExecElevation
 "%SystemRoot%\%winSysFolder%\WScript.exe" "%vbsGetPrivileges%" %*
 exit /B

:gotPrivileges
 setlocal & pushd .
 cd /d %~dp0
 if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul  &  shift /1)

REM Newly Added Code
@echo off
if "%ProgramFiles(x86)%" == "" goto MainCode
if not exist %SystemRoot%\Sysnative\cmd.exe goto MainCode
%SystemRoot%\Sysnative\cmd.exe /C "%~f0" %*
goto :EOF

:MainCode
ewfmgr c: -commitanddisable -live

Может ли мой сценарий быть виновником этой проблемы с синим экраном?

ОБНОВЛЕНИЕ-1: ОС: Windows-7 Embedded Standard. ewfmgr - это средство защиты от записи. По сути, с помощью приведенного выше сценария я отключаю защиту от записи на диске C:.

0