add hvswitch.cmd

This commit is contained in:
pavel.muhortov 2021-11-21 20:22:11 +03:00
parent 66b40f69f5
commit a76130f268
2 changed files with 84 additions and 0 deletions

View File

@ -8,6 +8,7 @@ Small tools needed to solve immediate tasks independently or as part of a projec
* [`procutil`.py](https://git.hmp.today/pavel.muhortov/utils#procutil-py)
* [`sendmail`.py](https://git.hmp.today/pavel.muhortov/utils#sendmail-py)
* [`simplewc`.py](https://git.hmp.today/pavel.muhortov/utils#simplewc-py)
* [`hvswitch`.cmd](https://git.hmp.today/pavel.muhortov/utils#hvswitch-cmd)
____
## `camsutil`
**Description:** Creation of a request to the camera API based on the prepared template
@ -256,3 +257,21 @@ chmod u+x ./simplewc.py
```
____
## `hvswitch`.cmd
**Description:** Microsoft Hyper-V switch on/off
**Dependencies:** Windows with Hyper-V (tested version Windows 10 Pro),
| PARAMETERS | DESCRIPTION | DEFAULT|
|-------------|-------------|--------|
|**[qn]**|execution without pauses|**REQUIRED 1 POSITION**|
|**[y]**|enable Hyper-V, if it off|**REQUIRED 2 POSITION**|
|**[n]**|disable Hyper-V, if it on|**REQUIRED 2 POSITION**|
Example usage in terminal:
```shell
.\hvswitch.cmd qn y
```
____

65
hvswitch.cmd Normal file
View File

@ -0,0 +1,65 @@
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
--------------------------------------------------
:Start
set choice=%~2
:Admin_Check
net session >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%