add hvswitch.cmd
This commit is contained in:
		
							parent
							
								
									66b40f69f5
								
							
						
					
					
						commit
						a76130f268
					
				
							
								
								
									
										19
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								README.md
									
									
									
									
									
								
							|  | @ -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
									
								
							
							
						
						
									
										65
									
								
								hvswitch.cmd
									
									
									
									
									
										Normal 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% | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user