Eredeti közzététel dátuma: 2025. november 17.
TUDÁSBÁZIS-azonosító: 5072718
Biztonságos rendszerindítási leltár adatgyűjtési példaszkriptje
Másolja és illessze be ezt a mintaszkriptet, és szükség szerint módosítsa a következőt: A Biztonságos rendszerindítási leltár mintaadatgyűjtő szkript.
Sample_Secure_Boot_Inventory_Data_Collection_script
# 1. HostName # PS verzió: Mind | Rendszergazda: Nem | Rendszerkövetelmények: Nincs try { $hostname = $env:SZÁMÍTÓGÉPNÉV if ([string]::IsNullOrEmpty($hostname)) { Write-Warning "Állomásnév nem határozható meg" $hostname = "Ismeretlen" } Write-Host "Állomásnév: $hostname" } catch { Write-Warning "Hiba történt a gazdagépnév beolvasása közben: $_" $hostname = "Hiba" Write-Host "Állomásnév: $hostname" }
# 2. CollectionTime # PS verzió: Mind | Rendszergazda: Nem | Rendszerkövetelmények: Nincs try { $collectionTime = Get-Date if ($null -eq $collectionTime) { Write-Warning "Nem sikerült beolvasni az aktuális dátumot/időt" $collectionTime = "Ismeretlen" } Write-Host "Gyűjtési idő: $collectionTime" } catch { Write-Warning "Hiba történt a dátum/idő lekérésekor: $_" $collectionTime = "Hiba" Write-Host "Gyűjtési idő: $collectionTime" }
# Registry: Secure Boot Main Key (3 values)
# 3. SecureBootEnabled # PS verzió: 3.0+ | Rendszergazda: Lehetséges, hogy | Rendszerkövetelmények: UEFI/Biztonságos rendszerindításra képes rendszer try { $secureBootEnabled = Confirm-SecureBootUEFI -ErrorAction Stop Write-Host "Biztonságos rendszerindítás engedélyezve: $secureBootEnabled" } catch { Write-Warning "A biztonságos rendszerindítási állapot nem határozható meg a következő parancsmaggal: $_" # Próbálja ki a beállításjegyzék tartalékát try { $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\State" -Name UEFISecureBootEnabled -ErrorAction Stop $secureBootEnabled = [bool]$regValue.UEFISecureBootEnabled Write-Host "Biztonságos rendszerindítás engedélyezve: $secureBootEnabled" } catch { Write-Warning "Nem lehet meghatározni a biztonságos rendszerindítás állapotát a beállításjegyzéken keresztül. Előfordulhat, hogy a rendszer nem támogatja az UEFI/Biztonságos rendszerindítást." $secureBootEnabled = $null Write-Host "Biztonságos rendszerindítás engedélyezve: Nem érhető el" } }
# 4. HighConfidenceOptOut # PS verzió: Mind | Rendszergazda: Lehetséges, hogy | Rendszerkövetelmények: Nincs try { $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name HighConfidenceOptOut -ErrorAction Stop $highConfidenceOptOut = $regValue.HighConfidenceOptOut Write-Host "Nagy megbízhatóságú elutasítás: $highConfidenceOptOut" } catch { Write-Warning "A HighConfidenceOptOut beállításkulcs nem található vagy nem érhető el" $highConfidenceOptOut = $null Write-Host "Nagy megbízhatóságú elutasítás: Nem érhető el" }
# 5. AvailableUpdates # PS verzió: Mind | Rendszergazda: Lehetséges, hogy | Rendszerkövetelmények: Nincs try { $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name AvailableUpdates -ErrorAction Stop $availableUpdates = $regValue.AvailableUpdates if ($null -ne $availableUpdates) { # Konvertálás hexadecimális formátumra $availableUpdatesHex = "0x{0:X}" -f $availableUpdates Write-Host "Elérhető Frissítések: $availableUpdatesHex" } egyéb { Write-Host "Elérhető Frissítések: Nem érhető el" } } catch { Write-Warning "Az AvailableUpdates beállításkulcs nem található vagy nem érhető el" $availableUpdates = $null Write-Host "Elérhető Frissítések: Nem érhető el" }
# Registry: Servicing Key (3 values)
# 6. UEFICA2023Status # PS verzió: Mind | Rendszergazda: Lehetséges, hogy | Rendszerkövetelmények: Nincs try { $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing" -Name UEFICA2023Status -ErrorAction Stop $uefica 2023Status = $regValue.UEFICA2023Status Write-Host "UEFI CA 2023 Status: $uefica 2023Status" } catch { Write-Warning "Az UEFICA2023Status beállításkulcs nem található vagy nem érhető el" $uefica 2023Status = $null Write-Host "UEFI CA 2023 Status: Not Available" (UEFI CA 2023 állapota: Nem érhető el) }
# 7. UEFICA2023Capable # PS verzió: Mind | Rendszergazda: Lehetséges, hogy | Rendszerkövetelmények: Nincs try { $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing" -Name UEFICA2023Capable -ErrorAction Stop $uefica 2023Capable = $regValue.UEFICA2023Capable Write-Host "UEFI CA 2023 Capable: $uefica 2023Capable" (UEFI CA 2023-kompatibilis: $uefica 2023-kompatibilis) } catch { Write-Warning "Az UEFICA2023-kompatibilis beállításkulcs nem található vagy nem érhető el" $uefica 2023Capable = $null Write-Host "UEFI CA 2023 Capable: Not Available" (UEFI CA 2023-kompatibilis: nem érhető el) }
# 8. UEFICA2023Error # PS verzió: Mind | Rendszergazda: Lehetséges, hogy | Rendszerkövetelmények: Nincs try { $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\Servicing" -Name UEFICA2023Error -ErrorAction Stop $uefica 2023Error = $regValue.UEFICA2023Error Write-Host "UEFI CA 2023 hiba: $uefica 2023Error" } catch { Write-Warning "Az UEFICA2023Error beállításkulcs nem található vagy nem érhető el" $uefica 2023Hiba = $null Write-Host "UEFI CA 2023 hiba: Nem érhető el" }
# Registry: Device Attributes (7 values)
# 9. OEMManufacturerName # PS verzió: Mind | Rendszergazda: Lehetséges, hogy | Rendszerkövetelmények: Nincs try { $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name OEMManufacturerName -ErrorAction Stop $oemManufacturerName = $regValue.OEMManufacturerName if ([string]::IsNullOrEmpty($oemManufacturerName)) { Write-Warning "OEMManufacturerName üres" $oemManufacturerName = "Ismeretlen" } Write-Host "OEM gyártójának neve: $oemManufacturerName" } catch { Write-Warning "AZ OEMManufacturerName beállításkulcs nem található vagy nem érhető el" $oemManufacturerName = $null Write-Host "OEM gyártójának neve: Nem érhető el" }
# 10. OEMModelSystemFamily # PS verzió: Mind | Rendszergazda: Lehetséges, hogy | Rendszerkövetelmények: Nincs try { $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name OEMModelSystemFamily -ErrorAction Stop $oemModelSystemFamily = $regValue.OEMModelSystemFamily if ([string]::IsNullOrEmpty($oemModelSystemFamily)) { Write-Warning "OEMModelSystemFamily üres" $oemModelSystemFamily = "Ismeretlen" } Write-Host "OEM modellrendszercsalád: $oemModelSystemFamily" } catch { Write-Warning "AZ OEMModelSystemFamily beállításkulcs nem található vagy nem érhető el" $oemModelSystemFamily = $null Write-Host "OEM modellrendszercsalád: Nem érhető el" }
# 11. OEMModelNumber # PS verzió: Mind | Rendszergazda: Lehetséges, hogy | Rendszerkövetelmények: Nincs try { $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name OEMModelNumber -ErrorAction Stop $oemModelNumber = $regValue.OEMModelNumber if ([string]::IsNullOrEmpty($oemModelNumber)) { Write-Warning "OEMModelNumber üres" $oemModelNumber = "Ismeretlen" } Write-Host "OEM-modell száma: $oemModelNumber" } catch { Write-Warning "AZ OEMModelNumber beállításkulcs nem található vagy nem érhető el" $oemModelNumber = $null Write-Host "OEM-modell száma: Nem érhető el" }
# 12. FirmwareVersion # PS verzió: Mind | Rendszergazda: Lehetséges, hogy | Rendszerkövetelmények: Nincs try { $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name FirmwareVersion -ErrorAction Stop $firmwareVersion = $regValue.FirmwareVersion if ([string]::IsNullOrEmpty($firmwareVersion)) { Write-Warning "FirmwareVersion üres" $firmwareVersion = "Ismeretlen" } Write-Host "Belső vezérlőprogram verziója: $firmwareVersion" } catch { Write-Warning "A FirmwareVersion beállításkulcs nem található vagy nem érhető el" $firmwareVersion = $null Write-Host "Belső vezérlőprogram verziója: Nem érhető el" }
# 13. FirmwareReleaseDate # PS verzió: Mind | Rendszergazda: Lehetséges, hogy | Rendszerkövetelmények: Nincs try { $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name FirmwareReleaseDate -ErrorAction Stop $firmwareReleaseDate = $regValue.FirmwareReleaseDate if ([string]::IsNullOrEmpty($firmwareReleaseDate)) { Write-Warning "FirmwareReleaseDate üres" $firmwareReleaseDate = "Ismeretlen" } Write-Host "Belső vezérlőprogram kiadási dátuma: $firmwareReleaseDate" } catch { Write-Warning "A FirmwareReleaseDate beállításkulcs nem található vagy nem érhető el" $firmwareReleaseDate = $null Write-Host "Belső vezérlőprogram kiadási dátuma: Nem érhető el" }
# 14. OSArchitecture # PS verzió: Mind | Rendszergazda: Nem | Rendszerkövetelmények: Nincs try { $osArchitecture = $env:PROCESSOR_ARCHITECTURE if ([string]::IsNullOrEmpty($osArchitecture)) { # Próbálja ki a beállításjegyzék tartalékát $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name OSArchitecture -ErrorAction Stop $osArchitecture = $regValue.OSArchitecture } if ([string]::IsNullOrEmpty($osArchitecture)) { Write-Warning "Az OSArchitecture nem határozható meg" $osArchitecture = "Ismeretlen" } Write-Host "Operációsrendszer-architektúra: $osArchitecture" } catch { Write-Warning "Hiba az OSArchitecture lekérésekor: $_" $osArchitecture = "Ismeretlen" Write-Host "Operációsrendszer-architektúra: $osArchitecture" }
# 15. CanAttemptUpdateAfter (FILETIME) # PS verzió: Mind | Rendszergazda: Lehetséges, hogy | Rendszerkövetelmények: Nincs try { $regValue = Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\DeviceAttributes" -Name CanAttemptUpdateAfter -ErrorAction Stop $canAttemptUpdateAfter = $regValue.CanAttemptUpdateAfter # Konvertálja a FILETIME-t DateTime értékre, ha az érvényes szám if ($null -ne $canAttemptUpdateAfter -and $canAttemptUpdateAfter -is [long]) { try { $canAttemptUpdateAfter = [DateTime]::FromFileTime($canAttemptUpdateAfter) } catch { Write-Warning "Nem sikerült a CanAttemptUpdateAfter FILETIME konvertálása DateTime-ra" } } Write-Host "Megkísérelheti a frissítést a következő után: $canAttemptUpdateAfter" } catch { Write-Warning "CanAttemptUpdateAfter a beállításkulcs nem található vagy nem érhető el" $canAttemptUpdateAfter = $null Write-Host "Megkísérelheti a frissítést a következő után: Nem érhető el" }
# Event Logs: System Log (5 values)
# 16-20. Event Log queries # PS verzió: 3.0+ | Rendszergazda: Szükség lehet a rendszernaplóra | Rendszerkövetelmények: Nincs try { $allEventIds = @(1801, 1808) $events = @(Get-WinEvent -FilterHashtable @{LogName='System'; ID=$allEventIds} -MaxEvents 20 -ErrorAction Stop)
if ($events.Count -eq 0) { Write-Warning "Nem találhatók biztonságos rendszerindítási események (1801/1808) a rendszernaplóban" $latestEventId = $null $bucketId = $null $confidence = $null $event 1801Count = 0 $event 1808Count = 0 Write-Host "Legutóbbi eseményazonosító: Nem érhető el" Write-Host "Gyűjtőazonosító: Nem érhető el" Write-Host "Megbízhatóság: Nem érhető el" Write-Host "Event 1801 Count: 0" Write-Host "Event 1808 Count: 0" (1808-ás esemény száma: 0) } egyéb { # 16. LatestEventId $latestEvent = $events | Sort-Object TimeCreated -Descending | Select-Object –Első 1 if ($null -eq $latestEvent) { Write-Warning "Nem sikerült meghatározni a legújabb eseményt" $latestEventId = $null Write-Host "Legutóbbi eseményazonosító: Nem érhető el" } egyéb { $latestEventId = $latestEvent.Id Write-Host "Legutóbbi eseményazonosító: $latestEventId" }
# 17. BucketID - Extracted from Event 1801/1808 if ($null -ne $latestEvent -and $null -ne $latestEvent.Message) { if ($latestEvent.Message -match 'BucketId:\s*(.+)') { $bucketId = $matches[1]. Trim() Write-Host "Gyűjtőazonosító: $bucketId" } egyéb { Write-Warning "A gyűjtőazonosító nem található az eseményüzenetben" $bucketId = $null Write-Host "Gyűjtőazonosító: Nem található az eseményben" } } egyéb { Write-Warning "A legutóbbi esemény vagy üzenet null értékű, a gyűjtőazonosító nem nyerhető ki" $bucketId = $null Write-Host "Gyűjtőazonosító: Nem érhető el" }
# 18. Confidence - Extracted from Event 1801/1808 if ($null -ne $latestEvent -and $null -ne $latestEvent.Message) { if ($latestEvent.Message -match 'BucketConfidenceLevel:\s*(.+)') { $confidence = $matches[1]. Trim() Write-Host "Megbízhatóság: $confidence" } egyéb { Write-Warning "A megbízhatósági szint nem található az eseményüzenetben" $confidence = $null Write-Host "Megbízhatóság: Nem található az eseményben" } } egyéb { Write-Warning "A legutóbbi esemény vagy üzenet null értékű, nem nyerhető ki megbízhatóság" $confidence = $null Write-Host "Megbízhatóság: Nem érhető el" }
# 19. Event1801Count $event 1801Array = @($events | Where-Object {$_. Azonosító - eq 1801}) $event 1801Count = $event 1801Array.Count Write-Host "Event 1801 Count: $event 1801Count"
# 20. Event1808Count $event 1808Array = @($events | Where-Object {$_. Azonosító - eq 1808}) $event 1808Count = $event 1808Array.Count Write-Host "Event 1808 Count: $event 1808Count" } } catch { Write-Warning "Hiba történt az eseménynaplók beolvasása közben. Rendszergazdai jogosultságokat igényelhet: $_" $latestEventId = $null $bucketId = $null $confidence = $null $event 1801Count = 0 $event 1808Count = 0 Write-Host "Legutóbbi eseményazonosító: Hiba" Write-Host "Gyűjtőazonosító: Hiba" Write-Host "Megbízhatóság: Hiba" Write-Host "Event 1801 Count: 0" Write-Host "Event 1808 Count: 0" (1808-ás esemény száma: 0) }
# WMI/CIM Queries (4 values)
# 21. OSVersion # PS Verzió: 3.0+ (használja Get-WmiObject a 2.0) | Rendszergazda: Nem | Rendszerkövetelmények: Nincs try { $osInfo = Get-CimInstance Win32_OperatingSystem -ErrorAction Stop if ($null -eq $osInfo -or [string]::IsNullOrEmpty($osInfo.Version)) { Write-Warning "Nem sikerült lekérni az operációs rendszer verzióját" $osVersion = "Ismeretlen" } egyéb { $osVersion = $osInfo.Version } Write-Host "Operációsrendszer-verzió: $osVersion" } catch { Write-Warning "Hiba az operációs rendszer verziójának lekérésekor: $_" $osVersion = "Ismeretlen" Write-Host "Operációs rendszer verziója: $osVersion" }
# 22. LastBootTime # PS Verzió: 3.0+ (használja Get-WmiObject a 2.0) | Rendszergazda: Nem | Rendszerkövetelmények: Nincs try { $osInfo = Get-CimInstance Win32_OperatingSystem -ErrorAction Stop if ($null -eq $osInfo -or $null -eq $osInfo.LastBootUpTime) { Write-Warning "Nem sikerült beolvasni a legutóbbi rendszerindítási időt" $lastBootTime = $null Write-Host "Legutóbbi rendszerindítás időpontja: Nem érhető el" } egyéb { $lastBootTime = $osInfo.LastBootUpTime Write-Host "Utolsó rendszerindítás időpontja: $lastBootTime" } } catch { Write-Warning "Hiba a legutóbbi rendszerindítási időpont beolvasása közben: $_" $lastBootTime = $null Write-Host "Legutóbbi rendszerindítás időpontja: Nem érhető el" }
# 23. BaseBoardManufacturer # PS Verzió: 3.0+ (használja Get-WmiObject a 2.0) | Rendszergazda: Nem | Rendszerkövetelmények: Nincs try { $baseBoard = Get-CimInstance Win32_BaseBoard -ErrorAction Stop if ($null -eq $baseBoard -or [string]::IsNullOrEmpty($baseBoard.Manufacturer)) { Write-Warning "Nem sikerült beolvasni az alaplap gyártójának" $baseBoardManufacturer = "Ismeretlen" } egyéb { $baseBoardManufacturer = $baseBoard.Manufacturer } Write-Host "Alaplap gyártója: $baseBoardManufacturer" } catch { Write-Warning "Hiba az alaplap gyártójának lekérésekor: $_" $baseBoardManufacturer = "Ismeretlen" Write-Host "Alaplap gyártója: $baseBoardManufacturer" }
# 24. BaseBoardProduct # PS Verzió: 3.0+ (használja Get-WmiObject a 2.0) | Rendszergazda: Nem | Rendszerkövetelmények: Nincs try { $baseBoard = Get-CimInstance Win32_BaseBoard -ErrorAction Stop if ($null -eq $baseBoard -or [string]::IsNullOrEmpty($baseBoard.Product)) { Write-Warning "Nem sikerült beolvasni az alaplapi terméket" $baseBoardProduct = "Ismeretlen" } egyéb { $baseBoardProduct = $baseBoard.Product } Write-Host "Alaplapi termék: $baseBoardProduct" } catch { Write-Warning "Hiba az alaplapi termék lekérésekor: $_" $baseBoardProduct = "Ismeretlen" Write-Host "Alaplapi termék: $baseBoardProduct"}