Windowsのオプション機能をチェックしてHyper-Vがインストールされているかどうかを確認するPowerShellスクリプトを記述しようとしています。しかし、私のコードは機能していません。 Hyper-Vが無効になっている場合でも、スクリプトはすでに有効になっていることを出力します。
#Requires -RunAsAdministrator
# Get the Hyper-V feature and store it in $hyperv
$hyperv = Get-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V-All -Online
# Check if Hyper-V is already enabled.
if($hyperv.State = "Enabled") {
Write-Host "Hyper-V is already enabled."
} else {
Write-Host "Hyper-V is disabled."
}
コードを実行してもエラーは発生しません。
あなたのif
状態に関係していると思います、これを試してください:
if($hyperv.State -eq "Enabled")
=
記号は機能しません。PowerShellで行う必要があります
これが私のために働く完全なPowerShellスクリプトです。コピーして、昇格したPowerShellに貼り付け、Enterキーを押します。
$hyperv = Get-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V-All -Online
# Check if Hyper-V is enabled
if($hyperv.State -eq "Enabled") {
Write-Host "Hyper-V is enabled."
} else {
Write-Host "Hyper-V is disabled."
}