Ukázka průvodce službou Secure Boot E2E Automation
Platí pro
Původní datum publikování: úterý 16. března 2026
ID znalostní báze: 5084567
V tomto článku
Přehled
Tato příručka popisuje systém automatizovaného nasazení aktualizací certifikátů databáze zabezpečeného spouštění systému Windows pomocí Zásady skupiny a postupného zavádění.
Automatizace zavedení certifikátu zabezpečeného spouštění je systém založený na PowerShellu, který nasazuje aktualizace certifikátů databáze zabezpečeného spouštění systému Windows do počítačů připojených k doméně řízeným a odstupňovaným způsobem.
Klíčové funkce
|
Funkce |
Popis |
|
Odstupňované uvedení |
1 > 2 > 4 > 8... zařízení na kbelík |
|
Automatické blokování |
Kontejnery s nedostupnými zařízeními jsou vyloučené. |
|
Automatizované nasazení objektu zásad_zásad |
Jeden skript orchestrátoru zpracovává vše |
|
Naplánované spuštění úlohy |
Nevyžadují se žádné interaktivní výzvy. |
|
Monitorování v reálném čase |
Prohlížeč stavu s indikátorem průběhu |
Referenční informace k nastavení Aktualizace certifikátů
V této části
Zásady skupiny AvailableUpdatesPolicy
|
Umístění registru |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot |
|
Název |
AvailableUpdatesPolicy |
|
Hodnota |
0x5944 (DWORD) |
Toto je klíč řízený objektem zásad skupiny nebo ADMX, který:
-
Zachová se napříč restartováními.
-
Nastavuje se pomocí Zásady skupiny / MDM.
-
Nezpůsobí smyčky opakování (vymaže se přes ClearRolloutFlags).
-
Je správný klíč pro nasazení řízené zásadami?
Referenční informace: metoda Zásady skupiny Objects (GPO) zabezpečeného spouštění pro zařízení s Windows s aktualizacemi spravovanými IT
zpět na "Referenční dokumentace nastavení Aktualizace certifikátu"
WinCSFlags – Systémové příznaky konfigurace Windows
Správci domény můžou alternativně použít systém Windows Configuration System (WinCS) vydaný s aktualizacemi operačního systému Windows k nasazení aktualizací zabezpečeného spouštění na klienty a servery Windows připojené k doméně. Skládá se z nástroje rozhraní příkazového řádku (CLI) pro dotazování a místní použití konfigurací zabezpečeného spouštění na počítač.
|
Název funkce |
Klíč WinCS |
Popis |
|
Feature_AllKeysAndBootMgrByWinCS |
F33E0C8E002 |
Povolení tohoto klíče umožní instalaci následujících nových certifikátů zabezpečeného spouštění od Microsoftu na vaše zařízení.
|
Referenční informace: Rozhraní API systému Windows Configuration System (WinCS) pro zabezpečené spouštění
zpět na "Referenční dokumentace nastavení Aktualizace certifikátu"
Architektura
Fáze 1: Detekce a monitorování stavu na podnikové úrovni
V této části
Skripty potřebné pro fázi 1
Ukázkové skripty shromažďování dat inventáře zabezpečeného spouštění
|
Název ukázkového skriptu |
Účel |
Běží na |
|
Shromažďuje data o stavu zařízení. |
Každý koncový bod (prostřednictvím objektu zásad zásad zabezpečení) |
|
|
Generuje sestavy a řídicí panely. |
pracovní stanice Správa |
|
|
Automatizuje vytváření objektů zásad skupiny pro shromažďování dat. |
Řadič domény |
zpět na "Fáze 1: Detekce a monitorování stavu na podnikové úrovni"
Místní testování
Před nasazením prostřednictvím objektu zásad zásad zabezpečení otestujte skript kolekce na jednom počítači a ověřte funkčnost.
-
Místní spuštění skriptu kolekce Otevřete příkazOvý řádek PowerShellu se zvýšenými oprávněními a spusťte:
& .\Detect-SecureBootCertUpdateStatus.ps1 -OutputPath "C:\Temp\SecureBootTest"
-
Ověření výstupu JSON
# View the collected data Get-Content "C:\Temp\SecureBootTest\*_latest.json" | ConvertFrom-Json | Format-List
Klíčová pole k ověření • SecureBootEnabled – hodnota True nebo False • OverallStatus – Complete, ReadyForUpdate, NeedsData nebo Error • BucketHash – kbelík zařízení pro porovnávání dat spolehlivosti • SecureBootTaskEnabled – zobrazuje stav úlohy aktualizace zabezpečeného spouštění.
-
Test agregačního skriptu
# Generate reports from collected data & .\Aggregate-SecureBootCertStatus.ps1" ' -InputPath "C:\Temp\SecureBootTest" ' -OutputPath "C:\Temp\SecureBootReports" # Otevření řídicího panelu HTML
Start-Process "C:\Temp\SecureBootReports\SecureBoot_Dashboard_*.html"
zpět na "Fáze 1: Detekce a monitorování stavu na podnikové úrovni"
Nasazení objektu zásad
Použijte automatizační skript poskytnutý z řadiče domény:
# Spustit na řadiči domény jako Správa domény pro interaktivní oddíl organizační jednotky – doporučeno # Nahraďte "Contoso.com", "Contoso" názvem domény. # Nahraďte FILESERVER názvem souborového serveru. Skript zobrazuje seznam organizačních jednotek pro nasazení objektu zásad skupiny .\Deploy-GPO-SecureBootCollection.ps1 ' -DomainName "contoso.com" ' -AutoDetectOU ' -CollectionSharePath "\\FILESERVER\SecureBootLogs$" ' -ScriptSourcePath ".\Detect-SecureBootCertUpdateStatus.ps1" ' -Naplánovat "Denně" -ScheduleTime "14:00" ' -RandomDelayHours 4
Tento skript provede následující akce:
-
Vytvoří nový objekt zásad_zásad_ se zadaným názvem.
-
Zkopíruje skript kolekce do adresáře SYSVOL pro zajištění vysoké dostupnosti.
-
Konfiguruje spouštěcí skript počítače.
-
Propojení objektu zásad skupiny s cílovou organizační jednotky
-
Volitelně vytvoří naplánovanou úlohu pro pravidelné shromažďování.
Následující tabulka obsahuje pokyny k tomu, jak dlouho bude zpoždění na základě velikosti vašeho vozového parku.
|
Velikost vozového parku |
Rozsah zpoždění |
|
1–10 tisíc zařízení |
4 hodiny |
|
Zařízení s 10 tisíci až 50 tisíci |
8 hodin |
|
Zařízení s více než 50 tisíci |
12-24 hodin |
zpět na "Fáze 1: Detekce a monitorování stavu na podnikové úrovni"
Souhrn nastavení objektu zásad zásad zabezpečení
|
Nastavení |
Poloha |
Hodnota |
|
Spouštěcí skript |
Skripty konfigurace počítače → |
Detect-SecureBootCertUpdateStatus.ps1 |
|
Parametry skriptu |
(stejné) |
-OutputPath "\\server\share$" |
|
Zásady spouštění |
Šablony konfigurace počítače → Správa → PowerShellu |
Povolit místní a vzdálené podepsání |
|
Naplánovaná úloha |
Předvolby konfigurace → počítače → naplánované úlohy |
Denní nebo týdenní kolekce |
zpět na "Fáze 1: Detekce a monitorování stavu na podnikové úrovni"
Ověření
-
Vynutit aktualizaci objektu zásad skupiny na test Machine
## On a test workstation gpupdate /force # Restartujte klientské počítače do spouštěcího skriptu, jinak se aktivuje podle dalšího plánu. Restart-Computer -Force
-
Ověření shromažďování dat
# Zkontrolujte, jestli se data shromáždila (na souborovém serveru nebo z libovolného počítače). Get-ChildItem "\fileserver\SecureBootData$" | Sort-Object LastWriteTime -Descending | Select-Object -Prvních 10 # Ověření obsahu JSON Get-Content "\\fileserver\SecureBootData$\TESTPC_latest.json" | ConvertFrom-Json
-
Kontrola aplikace objektu zásad zásad uživatelů
# Ověřte, že se objekt zásad skupiny používá v počítači. gpresult /r /scope:computer | Select-String SecureBoot S Skript také uloží místní kopii pro redundanci: Get-ChildItem "C:\ProgramData\SecureBootCollection\"
zpět na "Fáze 1: Detekce a monitorování stavu na podnikové úrovni"
Fáze 2: Skripty orchestrace aktualizací certifikátu zabezpečeného spouštění
Důležité informace: Ujistěte se, že se dokončila fáze 1, včetně shromažďování dat na každém koncovém bodu do sdílených složek vzdáleného serveru.
V této části
Skripty potřebné pro fázi 2
Ukázkové skripty shromažďování dat inventáře zabezpečeného spouštění
|
Název ukázkového skriptu |
Účel |
Systémy, ve kterých můžete poradce spustit |
|
Shromažďuje data o stavu zařízení. |
Každý koncový bod (prostřednictvím objektu zásad zásad zabezpečení) |
|
|
Generuje sestavy a řídicí panely. |
pracovní stanice Správa |
|
|
Automatizuje vytváření objektů zásad skupiny pro shromažďování dat. |
Řadič domény |
|
|
Plně automatizovaná průběžná orchestrace s automatizovaným nasazením objektů zásad zásad_ pro instalaci certifikátů |
pracovní stanice Správa |
|
|
Nasadí skript nástroje Orchestrator jako naplánovanou úlohu pro automatizované zavedení. |
Řadič domény |
|
|
Zobrazení stavu zavedení certifikátu zabezpečeného spouštění z jakékoli pracovní stanice |
pracovní stanice Správa |
|
|
Povolí úlohu aktualizace zabezpečeného spouštění. |
On End points where task is disabled (Run only once to enable the task if disabled) |
zpět na "Fáze 2: Skripty orchestrace aktualizací certifikátu zabezpečeného spouštění"
Start-SecureBootRolloutOrchestrator.ps1
-
Účel: Plně automatizovaná kontinuální orchestrace s automatizovaným nasazením objektů zásad zásad_
-
Funkce
-
Volání Aggregate-SecureBootData.ps1 pro stav zařízení
-
Generuje vlny zavádění pomocí progresivního zdvojování.
-
Vytvoří objekt zásad skupiny pro nasazení certifikátu pomocí jedné z následujících metod.
-
Zásady skupiny zabezpečeného spouštění DostupnéUpdatesPolicy = 0x5944 (výchozí)
-
Metoda WinCS (Parameter –UseWinCS)
-
-
Vytvoří skupiny zabezpečení AD pro cílení.
-
Přidá účty počítačů do skupin zabezpečení.
-
Konfiguruje filtrování zabezpečení objektů zásad zabezpečení.
-
Propojení objektu zásad skupiny s cílovou organizační jednotky
-
Monitory pro blokované kontejnery (nedostupná zařízení)
-
Automatické odblokování při obnovení zařízení
-
-
Používání
# Interactive (testing) .\Start-SecureBootRolloutOrchestrator.ps1 ' -AggregationInputPath "\\fileserver\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -PollIntervalMinutes 30
# Interactive (testing), leveraging WinCS method .\Start-SecureBootRolloutOrchestrator.ps1 ' -AggregationInputPath "\\fileserver\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -PollIntervalMinutes 1440 -UseWinCS
-
příkazy Správa
# List blocked buckets .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets
# Unblock specific bucket .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -UnblockBucket "Dell|Zeměpisná šířka5520|BIOS1.2"
# Unblock all .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -UnblockAll
-
Parametry
Parametr
Základní
Popis
AggregationInputPath
Povinná
Cesta UNC k souborům JSON koncového bodu
ReportBasePath
Povinná
Místní cesta pro sestavy a stav
Cílová JEDNOTKA
Kořen domény
Organizační jednotka pro propojení objektů zásad skupiny
WavePrefix
SecureBoot-Rollout
Předpona objektu zásad skupiny nebo předpony pojmenování skupin
MaxWaitHours
72
Hodiny před kontrolou dostupnosti zařízení
PollIntervalMinutes
1440
Počet minut mezi kontrolami stavu
DryRun
False
Zobrazit, co by se stalo bez změn
zpět na "Fáze 2: Skripty orchestrace aktualizací certifikátu zabezpečeného spouštění"
Deploy-OrchestratorTask.ps1
-
Účel: Nasadí orchestrátor jako naplánovanou úlohu Windows.
-
Výhody
-
Žádné výzvy zabezpečení PowerShellu (Bypass executionPolicy)
-
Běží nepřetržitě na pozadí.
-
Nevyžaduje se žádná interakce s uživatelem.
-
Přežije restartování
-
-
Používání
-
Nasazení s účtem doménové služby (doporučeno)
-
Use AvailableUpdates Zásady skupiny (Výchozí metoda)
.\Deploy-OrchestratorTask.ps1 ' -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -ServiceAccount "DOMÉNA\svc_secureboot"
-
Použití metody WinCS
.\Deploy-OrchestratorTask.ps1 ' -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -ServiceAccount "DOMAIN\svc_secureboot" -UseWinCS
-
-
Nasazení pomocí účtu SYSTEM
-
Use AvailableUpdates Zásady skupiny (Výchozí metoda)
.\Deploy-OrchestratorTask.ps1 ' -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports"
-
Použití method.\Deploy-OrchestratorTask.ps1 WinCS
-AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" -UseWinCS
-
Požadavky na účet služby
-
Správa domény (pro New-GPO, New-ADGroup, Add-ADGroupMember)
-
Přístup pro čtení ke sdílené složce JSON
-
Přístup k zápisu do ReportBasePath
-
-
-
zpět na "Fáze 2: Skripty orchestrace aktualizací certifikátu zabezpečeného spouštění"
Get-SecureBootRolloutStatus.ps1
-
Účel: Umožňuje zobrazit průběh zavádění z libovolné pracovní stanice.
-
Co ukazuje
-
Stav naplánované úlohy (spuštěno/připraveno/zastaveno)
-
Číslo aktuální vlny
-
Cílová zařízení vs. aktualizovaná
-
Indikátor průběhu vizuálu
-
Souhrn blokovaných kbelíků
-
Odkaz na nejnovější řídicí panel HTML
-
-
Používání
# Quick status check .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports"
# Continuous monitoring (refreshes every 30 seconds) .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -Watch 30
# View blocked buckets .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -ShowBlocked
# View wave history .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -ShowWaves
# View recent log .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -ShowLog
# Open dashboard in browser .\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -OpenDashboard
-
Ukázkový výstup
============================================================== STAV ZAVEDENÍ ZABEZPEČENÉHO SPOUŠTĚNÍ 2026-02-17 19:30:00 ======================================================
Scheduled Task: Running
ROLLOUT PROGRESS ---------------------------------------- Stav: InProgress Aktuální vlna: 5 Celkem Cílený: 1250 Celkem aktualizováno: 847
Progress: [█████████████████████░░░░░░░░░░░░░░░░░░░] 67.8%
BLOCKED BUCKETS: 2 buckets need attention Podrobnosti získáte spuštěním příkazu -ShowBlocked.
LATEST DASHBOARD C:\SecureBootReports\Aggregation_20260217_193000\SecureBoot_Dashboard.html __________________________________________________________________________________________
zpět na "Fáze 2: Skripty orchestrace aktualizací certifikátu zabezpečeného spouštění"
Kroky nasazení E2E (rychlá referenční příručka)
V této části
Fáze 1: Infrastruktura detekce
-
Krok 1: Vytvoření sdílené složky kolekce
# On file server $sharePath = "D:\SecureBootData" New-Item -ItemType Directory -Path $sharePath -Force New-SmbShare -Name "SecureBootData$" -Path $sharePath -FullAccess "Domain Admins" -ChangeAccess "Domain Computers"
# Set NTFS permissions $acl = Get-Acl $sharePath $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("Domain Computers";"Modify";"Allow") $acl. AddAccessRule($rule) Set-Acl $sharePath $acl
-
Krok 2: Nasazení objektu zásad skupiny detekce
.\Deploy-GPO-SecureBootCollection.ps1 ` -DomainName "contoso.com" ' -OUPath "OU=Workstations,DC=contoso,DC=com" ' -CollectionSharePath "\\server\SecureBootData$"
-
Krok 3: Počkejte, až se koncové body hlásí (24–48 hodin)
# Kontrola průběhu shromažďování (Get-ChildItem "\\server\SecureBootData$" -Filter "*.json"). Počet
Fáze 2: Orchestrované zavedení
-
Krok 4: Kontrola požadavků
-
Nasazený objekt zásad zjišťování (krok 2)
-
Minimálně 50 nebo více koncových bodů, které hlásí JSON
-
Účet služby s právy Správa domény
-
Server pro správu s PowerShellem 5.1 nebo novějším
-
-
Krok 5: Nasazení orchestratoru jako naplánované úlohy
.\Deploy-OrchestratorTask.ps1 ` -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -ServiceAccount "DOMÉNA\svc_secureboot"
-
Krok 6: Monitorování průběhu
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports"
-
Krok 7: Zobrazení řídicího panelu
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -OpenDashboard
-
Krok 8: Správa blokovaných kontejnerů
# List blocked .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets
# Investigate and unblock .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -UnblockBucket "Manufacturer|Model |BIOS"
-
Krok 9: Ověření dokončení
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" # Ve stavu # by se mělo zobrazit Dokončeno.
Stavová Files
Orchestrátor udržuje stav v ReportBasePath\RolloutState\:
|
Soubor |
Popis |
|
RolloutState.json |
Historie vln, cílová zařízení, stav |
|
BlockedBuckets.json |
Kontejnery vyžadující šetření |
|
DeviceHistory.json |
Sledování zařízení podle názvu hostitele |
|
Orchestrator_YYYYMMDD.log |
Protokoly denních aktivit |
Řešení potíží
V této části
Orchestrator nepostupuje
-
Kontrola naplánovaného úkolu
Get-ScheduledTask -TaskName "SecureBoot-Rollout-Orchestrator"
-
Kontrola protokolů
Get-Content "C:\SecureBootReports\RolloutState\Orchestrator_*.log" -Tail 50
-
Ověření aktuálnosti dat JSON
(Get-ChildItem "\\server\SecureBootData$" -Filter "*.json" | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) }).Count
Blokované kontejnery
-
Seznam je blokovaný.
.\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets
-
Prozkoumejte dostupnost zařízení.
-
Zkontrolujte problémy s firmwarem.
-
Odblokovat po vyšetřování.
Objekt zásad se nepoužívá
-
Ověřte, že objekt zásad zásad uživatele existuje.
Get-GPO -Name "SecureBoot-Rollout-Wave*"
-
Zkontrolujte filtrování zabezpečení.
Get-GPPermission -Name "GPO-Name" -All
-
Ověřte, že je počítač ve skupině zabezpečení.
-
Použijte objekt zásad skupiny na cíl.
gpupdate /force