Ogledni vodič za automatizaciju sigurnog pokretanja E2E
Primjenjuje se na
Izvorni datum objave: 16. ožujka 2026.
KB ID: 5084567
U ovom članku
Pregled
U ovom se vodiču opisuje automatizirani sustav implementacije za ažuriranja certifikata baze podataka za sigurno pokretanje sustava Windows pomoću pravilnik grupe i naprednih valova uvođenja.
Automatizacija uvođenja certifikata sigurnog pokretanja sustav je utemeljen na ljuski PowerShell koji implementira ažuriranja certifikata sustava Windows Secure Boot DB na računala pridružena domeni na kontrolirani, diplomirani način.
Ključne značajke
|
Značajka |
Opis |
|
Diploma |
1 > 2 > 4 > 8... uređaji po grupi |
|
Automatsko blokiranje |
Kante s nedostupnim uređajima su isključene |
|
Automatska implementacija GPO-a |
Single orchestrator script handles everything |
|
Zakazano izvršavanje zadatka |
Nisu potrebni interaktivni upiti |
|
Nadzor u stvarnom vremenu |
Preglednik stanja s trakom tijeka |
Referenca Ažuriranja postavki certifikata
U ovom odjeljku
Pravilnik grupe AvailableUpdatesPolicy
|
Mjesto registra |
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecureBoot |
|
Naziv |
AvailableUpdatesPolicy |
|
Vrijednost |
0x5944 (DWORD) |
To je ključ kojim upravlja GPO/ADMX:
-
Zadržava se tijekom ponovnih pokretanja
-
Postavlja pravilnik grupe / MDM
-
Ne uzrokuju petlje ponovnog pokušaja (izbrisane putem clearRolloutFlags)
-
Je li točan ključ za implementaciju utemeljenu na pravilniku
WinCSFlags – zastavice sustava Windows Configuration
Administratori domene mogu koristiti i Windows Configuration System (WinCS) koji je izdan s ažuriranjima operacijskog sustava Windows radi implementacije ažuriranja sigurnog pokretanja na svim klijentima i poslužiteljima sustava Windows pridruženima domeni. Sastoji se od uslužnog programa sučelja naredbenog retka (CLI) za upit i primjenu konfiguracija sigurnog pokretanja lokalno na računalo.
|
Naziv značajke |
Tipka WinCS |
Opis |
|
Feature_AllKeysAndBootMgrByWinCS |
F33E0C8E002 |
Omogućivanjem tog ključa omogućujete instalaciju sljedećih microsoftovih certifikata za sigurno pokretanje na vašem uređaju.
|
Referenca: API-ji sustava Windows Configuration System (WinCS) za sigurno pokretanje
Arhitektura
1. faza: otkrivanje i praćenje statusa na razini poduzeća
U ovom odjeljku
Skripte potrebne za 1. fazu
Sample Secure Boot Inventory Data Collection scripts
|
Ogledni naziv skripte |
Svrhu |
Pokreće se na |
|
Prikuplja podatke o statusu uređaja |
Svaka krajnja točka (putem GPO-a) |
|
|
Generira izvješća i nadzorne ploče |
Administrator radne stanice |
|
|
Automatizira stvaranje GPO-a za prikupljanje podataka |
Domenski kontroler |
povratak na "1. faza: otkrivanje i praćenje statusa na razini velike tvrtke"
Lokalno testiranje
Prije implementacije putem GPO-a testirajte skriptu zbirke na jednom računalu da biste provjerili funkcionalnost.
-
Lokalno pokreni skriptu zbirke Otvaranje povišenog upita za PowerShell i izvršavanje:
& .\Detect-SecureBootCertUpdateStatus.ps1 -OutputPath "C:\Temp\SecureBootTest"
-
Provjera JSON izlaza
# View the collected data Get-Content "C:\Temp\SecureBootTest\*_latest.json" | ConvertFrom-Json | Format-List
Ključna polja za provjeru • SecureBootEnabled – treba biti True ili False • OverallStatus – Dovršeno, ReadyForUpdate, NeedsData ili Pogreška • BucketHash – grupa uređaja za usklađivanje podataka o pouzdanosti • SecureBootTaskEnabled – prikazuje status zadatka ažuriranja sigurnog pokretanja.
-
Testna skripta agregacije
# Generate reports from collected data & .\Aggregate-SecureBootCertStatus.ps1" ' -InputPath "C:\Temp\SecureBootTest" ' -OutputPath "C:\Temp\SecureBootReports" # Otvorite HTML nadzornu ploču
Start-Process "C:\Temp\SecureBootReports\SecureBoot_Dashboard_*.html"
povratak na "1. faza: otkrivanje i praćenje statusa na razini velike tvrtke"
Implementacija GPO-a
Koristite skriptu automatizacije koju ste dobili od domenskog kontrolera:
# Run on Domain Controller as Domain Administrator for interactive OU Section - Recommended # Zamijenite "Contoso.com", "Contoso" nazivom domene # Zamijenite FILESERVER nazivom datotečnog poslužitelja. Script shows list of OUs to deploy GPO on .\Deploy-GPO-SecureBootCollection.ps1 ' -DomainName "contoso.com" ' -AutoDetectOU ' -CollectionSharePath "\\FILESERVER\SecureBootLogs$" ' -ScriptSourcePath ".\Detect-SecureBootCertUpdateStatus.ps1" ' -Raspored "Dnevno" ' -ScheduleTime "14:00" ' -RandomDelayHours 4
Ova skripta izvodit će sljedeće:
-
Stvara novi GPO s navedenim nazivom
-
Kopira skriptu zbirke u SYSVOL radi visoke dostupnosti
-
Konfigurira skriptu pokretanja računala
-
Povezuje GPO s ciljnim OU-om
-
Po želji stvara zakazani zadatak za povremeno prikupljanje
U sljedećoj su tablici navedene smjernice o tome koliko će se dugo kašnjenje temeljiti na veličini vaše flote.
|
Veličina flote |
Raspon odgode |
|
Uređaji od 1 do 10 K |
4 sata |
|
Uređaji od 10K do 50K |
8 sati |
|
50K+ uređaji |
Od 12 do 24 sata |
povratak na "1. faza: otkrivanje i praćenje statusa na razini velike tvrtke"
Sažetak postavki servisa GPO
|
Postavka |
Lokacija |
Vrijednost |
|
Polazna skripta |
Konfiguracija računala → skripte |
Detect-SecureBootCertUpdateStatus.ps1 |
|
Parametri skripte |
(isto) |
-OutputPath "\\poslužitelj\share$" |
|
Pravilnik o izvršenju |
Konfiguracija računala → Administrator predloške → PowerShell |
Dopusti lokalne i udaljene potpisane |
|
Zakazani zadatak |
Postavke konfiguracije → računala → zakazane zadatke |
Dnevno/tjedno prikupljanje |
povratak na "1. faza: otkrivanje i praćenje statusa na razini velike tvrtke"
Provjeru
-
Force GPO Update on Test Machine
## On a test workstation gpupdate /force # Ponovno pokrenite klijentska računala na skriptu pokretanja ili će se pokrenuti prema sljedećem rasporedu. Restart-Computer -Force
-
Provjera prikupljanja podataka
# Provjerite prikupljaju li se podaci (na datotečnom poslužitelju ili s bilo kojeg računala) Get-ChildItem "\\fileserver\SecureBootData$" | Sort-Object LastWriteTime -Descending | Select-Object - Prvih 10 # Potvrdi JSON sadržaj Get-Content "\\fileserver\SecureBootData$\TESTPC_latest.json" | ConvertFrom-Json
-
Provjera aplikacije GPO
# Provjerite primjenjuje li se GPO na računalo gpresult /r /scope:computer | Select-String "SecureBoot" S Skripta sprema i lokalnu kopiju za redundancije: Get-ChildItem "C:\ProgramData\SecureBootCollection\"
povratak na "1. faza: otkrivanje i praćenje statusa na razini velike tvrtke"
2. faza: orkestracije skripti za ažuriranje certifikata sigurnog pokretanja
Važno: Provjerite je li faza1 dovršena, uključujući prikupljanje podataka na svakoj krajnjoj točki zajedničkog korištenja udaljenog poslužitelja.
U ovom odjeljku
Skripte potrebne za 2. fazu
Sample Secure Boot Inventory Data Collection scripts
|
Ogledni naziv skripte |
Svrhu |
Pokreće se na sustavima |
|
Prikuplja podatke o statusu uređaja |
Svaka krajnja točka (putem GPO-a) |
|
|
Generira izvješća i nadzorne ploče |
Administrator radne stanice |
|
|
Automatizira stvaranje GPO-a za prikupljanje podataka |
Domenski kontroler |
|
|
Potpuno automatizirano, kontinuirano orkestriranje s automatiziranom GPO implementacijom za instalaciju certifikata |
Administrator radne stanice |
|
|
Implementira orchestrator skriptu kao zakazani zadatak za automatsko uvođenje |
Domenski kontroler |
|
|
Prikaz statusa poništavanja certifikata za sigurno pokretanje s bilo koje radne stanice |
Administrator radna stanica |
|
|
Omogućuje zadatak ažuriranja sigurnog pokretanja |
Na krajnjim točkama na kojima je zadatak onemogućen (pokreni samo jedanput da biste omogućili zadatak ako je onemogućen) |
povratak na "Faza 2: Secure Boot Certificate Update Orkestracija Skripte"
Start-SecureBootRolloutOrchestrator.ps1
-
Svrhu: Potpuno automatizirana, kontinuirana orkestracija s automatiziranom GPO implementacijom.
-
Funkcija
-
Pozivi Aggregate-SecureBootData.ps1 za status uređaja
-
Generira valove za početak rada pomoću progresivnog doubliranje
-
Stvara GPO za implementaciju certifikata na jedan od sljedećih načina
-
Pravilnik grupe sigurnog pokretanja AvailableUpdatesPolicy = 0x5944 (zadano)
-
Metoda WinCS (parametar –UseWinCS)
-
-
Stvara ad-sigurnosne grupe za ciljanje
-
Dodaje račune računala u sigurnosne grupe
-
Konfigurira GPO sigurnosno filtriranje
-
Povezuje GPO s ciljnim OU-om
-
Monitori za blokirane grupe (nedostupne uređaje)
-
Automatsko deblokiranje prilikom oporavka uređaja
-
-
Upotreba
# 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
-
Administrator naredbe
# List blocked buckets .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets
# Unblock specific bucket .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -UnblockBucket "Dell|Latitude5520|BIOS1.2"
# Unblock all .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -DeblokiranjeSve
-
Parametara
Parametar
Zadano
Opis
AggregationInputPath
Obavezno
UNC put do JSON datoteka krajnje točke
ReportBasePath
Obavezno
Lokalni put za izvješća i stanje
TargetOU
Korijen domene
OU za povezivanje GPO-ova
WavePrefix
SecureBoot-Rollout
Prefiks imenovanja GPO-a/grupe
MaxWaitHours
72
Sati prije provjere dostupnosti uređaja
PollIntervalMinutes
1440
Minute između provjera stanja
Suho pokretanje
False
Pokaži što će se dogoditi bez promjena
povratak na "Faza 2: Secure Boot Certificate Update Orkestracija Skripte"
Deploy-OrchestratorTask.ps1
-
Svrhu: Implementira orkestrator kao zakazani zadatak sustava Windows.
-
Prednosti
-
Nema sigurnosnih upita za PowerShell (Zaobilaženje ExecutionPolicy)
-
Neprekidno se izvodi u pozadini
-
Nije potrebna interakcija korisnika
-
Preživljava ponovna pokretanja
-
-
Upotreba
-
Implementacija pomoću računa servisa domene (preporučeno)
-
Koristi AvailableUpdates pravilnik grupe (zadana metoda)
.\Deploy-OrchestratorTask.ps1 ' -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -ServiceAccount "DOMENA\svc_secureboot"
-
Korištenje metode WinCS
.\Deploy-OrchestratorTask.ps1 ' -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -ServiceAccount "DOMENA\svc_secureboot" -UseWinCS
-
-
Implementacija pomoću računa sustava
-
Koristi AvailableUpdates pravilnik grupe (zadana metoda)
.\Deploy-OrchestratorTask.ps1 ' -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports"
-
Korištenje winCS method.\Deploy-OrchestratorTask.ps1
-AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" -UseWinCS
-
Preduvjeti za račun servisa
-
Domena Administrator (za New-GPO, New-ADGroup, Add-ADGroupMember)
-
Pristup za čitanje JSON zajedničkog korištenja datoteka
-
Pristup zapisi u ReportBasePath
-
-
-
povratak na "Faza 2: Secure Boot Certificate Update Orkestracija Skripte"
Get-SecureBootRolloutStatus.ps1
-
Svrhu: Prikaz napretka u ulasu iz bilo koje radne stanice.
-
Što pokazuje
-
Stanje zakazanog zadatka (pokrenuto/spremno/zaustavljeno)
-
Broj trenutnog vala
-
Uređaji koji su ciljani ili ažurirani
-
Traka prikaza tijeka
-
Sažetak blokiranih grupa
-
Veza na najnoviju HTML nadzornu ploču
-
-
Upotreba
# 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
-
Uzorak izlaza
============================================================== STATUS ROLLOUT SIGURNOG POKRETANJA 17.02.2026. 19:30:00 ======================================================
Scheduled Task: Running
ROLLOUT PROGRESS ---------------------------------------- Status: InProgress Trenutni val: 5 Ukupno ciljano: 1250 Ukupno ažurirano: 847
Progress: [█████████████████████░░░░░░░░░░░░░░░░░░░] 67.8%
BLOCKED BUCKETS: 2 buckets need attention Pokreni s programom -ShowBlocked za pojedinosti
LATEST DASHBOARD C:\SecureBootReports\Aggregation_20260217_193000\SecureBoot_Dashboard.html __________________________________________________________________________________________
povratak na "Faza 2: Secure Boot Certificate Update Orkestracija Skripte"
Koraci implementacije E2E (vodič za brzi pregled)
U ovom odjeljku
1. faza: infrastruktura za otkrivanje
-
Prvi korak: stvaranje zajedničkog korištenja zbirke
# On file server $sharePath = "D:\SecureBootData" New-Item -ItemType Direktorij -Put $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
-
Drugi korak: implementacija GPO-a za otkrivanje
.\Deploy-GPO-SecureBootCollection.ps1 ` -DomainName "contoso.com" ' -OUPath "OU=Workstations,DC=contoso,DC=com" ' -CollectionSharePath "\\server\SecureBootData$"
-
Treći korak: čekanje krajnjih točaka na izvješće (od 24 do 48 sati)
# Provjerite tijek prikupljanja (Get-ChildItem "\\server\SecureBootData$" -Filter "*.json"). Računati
2. faza: orkestrirano uvodinje
-
Četvrti korak: provjera preduvjeta
-
Detection GPO deployed (Step 2)
-
Najmanje 50+ krajnjih točaka koje izvještavaju JSON
-
Račun servisa s pravima na Administrator domene
-
Poslužitelj za upravljanje pomoću komponente PowerShell 5.1+
-
-
Peti korak: implementacija orkestratora kao zakazanog zadatka
.\Deploy-OrchestratorTask.ps1 ` -AggregationInputPath "\\server\SecureBootData$" ' -ReportBasePath "C:\SecureBootReports" ' -ServiceAccount "DOMENA\svc_secureboot"
-
Šesti korak: praćenje tijeka
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports"
-
Sedmi korak: prikaz nadzorne ploče
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" -OpenDashboard
-
8. korak: upravljanje blokiranim grupama
# List blocked .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets
# Investigate and unblock .\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -UnblockBucket "Proizvođač|Model|BIOS"
-
9. korak: potvrda dovršetka
.\Get-SecureBootRolloutStatus.ps1 -ReportBasePath "C:\SecureBootReports" # Status bi trebao pokazati "Dovršeno"
Broj Files
Orchestrator održava stanje u ReportBasePath\RolloutState\:
|
Datoteka |
Opis |
|
RolloutState.json |
Povijest vala, ciljani uređaji, status |
|
BlockedBuckets.json |
Grupe koje trebaju istragu |
|
DeviceHistory.json |
Praćenje uređaja prema nazivu glavnog računala |
|
Orchestrator_YYYYMMDD.log |
Dnevni zapisnici o aktivnostima |
Otklanjanje poteškoća
U ovom odjeljku
Orchestrator Not Progressing
-
Provjera zakazanog zadatka
Get-ScheduledTask -TaskName "SecureBoot-Rollout-Orchestrator"
-
Provjera zapisnika
Get-Content "C:\SecureBootReports\RolloutState\Orchestrator_*.log" -Tail 50
-
Provjera svježine JSON podataka
(Get-ChildItem "\\server\SecureBootData$" -Filter "*.json" | Where-Object { $_.LastWriteTime -gt (Get-Date).AddDays(-1) }).Count
Blokirane grupe
-
Popis je blokiran.
.\Start-SecureBootRolloutOrchestrator.ps1 -ReportBasePath "C:\SecureBootReports" -ListBlockedBuckets
-
Istražite dostojnost uređaja.
-
Provjerite ima li problema s programom.
-
Deblokiraj nakon istrage.
GPO ne primjenjuje se
-
Provjerite postoji li GPO.
Get-GPO -Name "SecureBoot-Rollout-Wave*"
-
Provjerite sigurnosno filtriranje.
Get-GPPermission -Name "GPO-Name" -All
-
Provjerite je li računalo u sigurnosnoj grupi.
-
Primijenite GPO na cilj.
gpupdate /force