67 lines
1.3 KiB
Batchfile
67 lines
1.3 KiB
Batchfile
pushd "%~dp0"
|
|
@echo off
|
|
goto :Start
|
|
|
|
--------------------------------------------------
|
|
Microsoft Hyper-V switch on/off
|
|
|
|
Positional parameters:
|
|
[1] qn - execution without pauses
|
|
[2] y - enable Hyper-V, if it off
|
|
n - disable Hyper-V, if it on
|
|
|
|
Administrator rights required
|
|
--------------------------------------------------
|
|
|
|
:Start
|
|
set choice=%~2
|
|
|
|
:Admin_Check
|
|
openfiles >nul 2>&1
|
|
if %errorLevel% == 0 (
|
|
set code=0
|
|
) else (
|
|
set code=5
|
|
cls
|
|
echo Restart this as Administrator!
|
|
goto :Exit
|
|
)
|
|
|
|
:HV_Check
|
|
bcdedit /enum | FINDSTR /IL "hypervisorlaunchtype" | FINDSTR /IL "auto"
|
|
if %errorLevel% EQU 0 (
|
|
set state=auto
|
|
) else (
|
|
set state=off
|
|
)
|
|
|
|
:HV_Choice
|
|
cls
|
|
if "%choice%" EQU "y" (
|
|
if "%state%" EQU "auto" goto :Exit
|
|
goto :HV_enable
|
|
)
|
|
if "%choice%" EQU "n" (
|
|
if "%state%" NEQ "auto" goto :Exit
|
|
goto :HV_disable
|
|
)
|
|
set /p choice= Do you need a Hyper-V enabled? [y or no]:
|
|
goto :HV_Choice
|
|
|
|
:HV_enable
|
|
echo Hyper-V enabled...
|
|
bcdedit /set hypervisorlaunchtype auto
|
|
shutdown -r -f -t 5 -c "After 5 seconds, the computer will restart"
|
|
goto :Exit
|
|
|
|
:HV_disable
|
|
echo Hyper-V disabled...
|
|
bcdedit /set hypervisorlaunchtype off
|
|
shutdown -r -f -t 5 -c "After 5 seconds, the computer will restart"
|
|
goto :Exit
|
|
|
|
:Exit
|
|
if "%~1" NEQ "qn" pause
|
|
popd
|
|
exit %code%
|