$HyperVState = (Get-WindowsOptionalFeature –Online | Where-Object {$_.FeatureName –eq "Microsoft-Hyper-V-All"}).State if($HyperVState -ne "Enabled") { Remove-ItemProperty -Path "HKLM:SYSTEM\CurrentControlSet\Control\DeviceGuard" -Name "EnableVirtualizationBasedSecurity" -Force -ErrorAction SilentlyContinue -WarningAction SilentlyContinue Remove-ItemProperty -Path "HKLM:SYSTEM\CurrentControlSet\Control\DeviceGuard" -Name "RequirePlatformSecurityFeatures" -Force -ErrorAction SilentlyContinue -WarningAction SilentlyContinue Remove-ItemProperty -Path "HKLM:SYSTEM\CurrentControlSet\Control\DeviceGuard" -Name "RequireMicrosoftSignedBootChain" -Force -ErrorAction SilentlyContinue -WarningAction SilentlyContinue Remove-ItemProperty -Path "HKLM:SYSTEM\CurrentControlSet\Control\DeviceGuard" -Name "Locked" -Force -ErrorAction SilentlyContinue -WarningAction SilentlyContinue Remove-ItemProperty -Path "HKLM:SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" -Name "Enabled" -Force -ErrorAction SilentlyContinue -WarningAction SilentlyContinue Remove-ItemProperty -Path "HKLM:SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" -Name "Locked" -Force -ErrorAction SilentlyContinue -WarningAction SilentlyContinue Remove-ItemProperty -Path "HKLM:System\CurrentControlSet\Control\LSA" -Name "LsaCfgFlags" -Force -ErrorAction SilentlyContinue -WarningAction SilentlyContinue Remove-ItemProperty -Path "HKLM:LsaCfgFlags" -Name "Locked" -Force -ErrorAction SilentlyContinue -WarningAction SilentlyContinue Remove-Item -Path "HKLM:SOFTWARE\Policies\Microsoft\Windows\DeviceGuard" -Recurse -Force -ErrorAction SilentlyContinue -WarningAction SilentlyContinue Write-Host "Reboot your computer to apply the changes." } else { Write-Host "Disable Hyper-V in Windows features and run the script again" }