Oprava detekce dokončení na VM
This commit is contained in:
@@ -0,0 +1,4 @@
|
|||||||
|
.DS_Store
|
||||||
|
*.log
|
||||||
|
SecureBootRemediation-*.log
|
||||||
|
audit_results/
|
||||||
@@ -241,6 +241,7 @@ function Get-CertificateStatus {
|
|||||||
}
|
}
|
||||||
AnyExpiring2011 = $false
|
AnyExpiring2011 = $false
|
||||||
AllReplacements2023 = $false
|
AllReplacements2023 = $false
|
||||||
|
AllReplacements2023_VM = $false
|
||||||
}
|
}
|
||||||
|
|
||||||
# ── KEK databáze ──
|
# ── KEK databáze ──
|
||||||
@@ -308,11 +309,17 @@ function Get-CertificateStatus {
|
|||||||
$status.DB.Has2011UEFI -or
|
$status.DB.Has2011UEFI -or
|
||||||
$status.DB.Has2011WindowsPCA
|
$status.DB.Has2011WindowsPCA
|
||||||
|
|
||||||
|
# Plná sada pro fyzické servery (všechny 4 certifikáty)
|
||||||
$status.AllReplacements2023 = $status.KEK.Has2023 -and
|
$status.AllReplacements2023 = $status.KEK.Has2023 -and
|
||||||
$status.DB.Has2023UEFI -and
|
$status.DB.Has2023UEFI -and
|
||||||
$status.DB.Has2023OptionROM -and
|
$status.DB.Has2023OptionROM -and
|
||||||
$status.DB.Has2023WindowsUEFI
|
$status.DB.Has2023WindowsUEFI
|
||||||
|
|
||||||
|
# Minimální sada pro VM (UEFI CA 2023 + Option ROM nejsou na VM povinné —
|
||||||
|
# VM nemá fyzické PCIe option ROM karty, hypervisor řídí UEFI obsah)
|
||||||
|
$status.AllReplacements2023_VM = $status.KEK.Has2023 -and
|
||||||
|
$status.DB.Has2023WindowsUEFI
|
||||||
|
|
||||||
return $status
|
return $status
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -443,11 +450,27 @@ function Get-RemediationCategory {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Secure Boot je zapnutý — zkontrolovat certifikáty
|
# Secure Boot je zapnutý — zkontrolovat certifikáty
|
||||||
if ($cert.AllReplacements2023 -and -not $cert.AnyExpiring2011) {
|
# Na VM stačí minimální sada (KEK 2K CA 2023 + Windows UEFI CA 2023),
|
||||||
return @{ Code = 'OK'; Emoji = '✅'; Label = 'OK — má nové 2023 certifikáty' }
|
# UEFI CA 2023 a Option ROM UEFI CA 2023 nejsou na VM povinné
|
||||||
|
$isVM = $env -like '*VM*'
|
||||||
|
$certOK = if ($isVM) { $cert.AllReplacements2023_VM } else { $cert.AllReplacements2023 }
|
||||||
|
$certOKFull = $cert.AllReplacements2023
|
||||||
|
|
||||||
|
if ($certOK -and -not $cert.AnyExpiring2011) {
|
||||||
|
$_label = if ($isVM -and -not $certOKFull) {
|
||||||
|
'OK — má povinné 2023 certifikáty pro VM (UEFI CA + Option ROM nejsou na VM vyžadovány)'
|
||||||
|
} else {
|
||||||
|
'OK — má nové 2023 certifikáty'
|
||||||
}
|
}
|
||||||
if ($cert.AllReplacements2023 -and $cert.AnyExpiring2011) {
|
return @{ Code = 'OK'; Emoji = '✅'; Label = $_label }
|
||||||
return @{ Code = 'OK_TRANSITION'; Emoji = '✅'; Label = 'OK — přechodný stav (2023 i 2011 certifikáty)' }
|
}
|
||||||
|
if ($certOK -and $cert.AnyExpiring2011) {
|
||||||
|
$_label = if ($isVM -and -not $certOKFull) {
|
||||||
|
'OK — přechodný stav, VM má povinné 2023 certifikáty'
|
||||||
|
} else {
|
||||||
|
'OK — přechodný stav (2023 i 2011 certifikáty)'
|
||||||
|
}
|
||||||
|
return @{ Code = 'OK_TRANSITION'; Emoji = '✅'; Label = $_label }
|
||||||
}
|
}
|
||||||
|
|
||||||
# Selhání aktualizace
|
# Selhání aktualizace
|
||||||
@@ -519,6 +542,7 @@ if ($result.SecureBoot.IsUEFI -and $result.SecureBoot.IsSupported) {
|
|||||||
}
|
}
|
||||||
AnyExpiring2011 = $false
|
AnyExpiring2011 = $false
|
||||||
AllReplacements2023 = $false
|
AllReplacements2023 = $false
|
||||||
|
AllReplacements2023_VM = $false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user