
Secure Boot 2011 से 2023 प्रमाणपत्र रोलओवर (CVE-2023-24932 / KB5025885) के लिए स्टैंडअलोन मूल्यांकन और सर्विसिंग। डिफ़ॉल्ट रूप से केवल-मूल्यांकन; कोई निर्भरता नहीं, कोई नेटवर्क नहीं, कोई टेलीमेट्री नहीं।
एक एकल, स्व-निहित PowerShell स्क्रिप्ट जो Windows मशीन की Secure Boot प्रमाणपत्र स्थिति का आकलन 2011 → 2023 रोलओवर (CVE-2023-24932 / KB5025885) के लिए करती है और, केवल जब आप स्पष्ट रूप से उसे कहते हैं, उस मशीन को Microsoft सर्विसिंग पाइपलाइन में ऑप्ट-इन करती है।
Exchange Technology Services द्वारा उन ग्राहकों और भागीदारों के लिए प्रकाशित, जो अपने स्वयं के एंडपॉइंट प्रबंधित करते हैं।
Microsoft द्वारा 2011 में जारी किए गए Secure Boot प्रमाणपत्र समाप्त हो रहे हैं और 2023 संस्करणों द्वारा प्रतिस्थापित किए जा रहे हैं।
| प्रमाणपत्र | तिथि | स्टोर | भूमिका |
|---|---|---|---|
| Microsoft Corporation KEK CA 2011 | 24 Jun 2026 को समाप्त | KEK | DB और DBX अपडेट को अधिकृत करता है |
| Microsoft UEFI CA 2011 | 27 Jun 2026 को समाप्त | DB | तृतीय-पक्ष लोडर / option ROM पर हस्ताक्षर करता है |
| Windows Production PCA 2011 | 19 Oct 2026 | DB | Windows बूट लोडर पर हस्ताक्षर करता है |
इनमें से किसी भी तिथि पर कोई मशीन बूट होना बंद नहीं करती। Microsoft का मार्गदर्शन है कि नए प्रमाणपत्रों के बिना समाप्ति तक पहुँचने वाला उपकरण "फिर भी सामान्य रूप से प्रारंभ और संचालित होगा।"
जो खो जाता है वह प्रारंभिक-बूट सुरक्षा अपडेट प्राप्त करने की क्षमता है — नए Secure Boot प्रत्याहरण, BitLocker बाइपास शमन, बूट-मैनेजर सुधार। यह आउटेज के बजाय संचित जोखिम है।
19 Oct 2026 के बाद, जिस मशीन के फर्मवेयर ने कभी Windows UEFI CA 2023 नहीं लिया, वह
नए-हस्ताक्षरित Windows बूट मीडिया को सत्यापित करना भी बंद कर देती है, जो रिकवरी, इंस्टॉल और
PXE मीडिया को प्रभावित कर सकता है।
KEK ही द्वार है। फर्मवेयर में Microsoft Corporation KEK 2K CA 2023 के बिना,
Windows Update DB अपडेट बिल्कुल वितरित नहीं कर सकता। जिस मशीन में यह अनुपस्थित है, उसे तब तक
सुधारा नहीं जा सकता जब तक KEK Windows Update या OEM BIOS अपडेट के माध्यम से नहीं आता। यह व्यवहार
में सबसे सामान्य अवरोधक है, और स्क्रिप्ट इसे स्पष्ट रूप से रिपोर्ट करती है, न कि कोई ऐसा मान
लिखती है जो कुछ नहीं करेगा।
Windows PowerShell 5.1, व्यवस्थापक के रूप में — UEFI चर पढ़ने के लिए उन्नयन (elevation) आवश्यक है।
1. फ़ाइल को अनब्लॉक करें (Windows डाउनलोड की गई स्क्रिप्ट को ब्लॉक करता है):
Unblock-File .\Invoke-SecureBootCertServicing.ps1
2. आकलन करें — सुरक्षित, कोई परिवर्तन नहीं करता:
powershell.exe -ExecutionPolicy Bypass -File .\Invoke-SecureBootCertServicing.ps1
3. लागू करें, केवल अगर आकलन कहता है कि मशीन तैयार है:
.\Invoke-SecureBootCertServicing.ps1 -Apply -SuspendBitLocker
रिपोर्ट Write-Host के साथ लिखी जाती है, इसलिए यह कंसोल पर प्रदर्शित होती है और
Start-Transcript द्वारा दर्ज की जाती है। साधारण > पुनर्निर्देशन इसे कैप्चर नहीं करेगा,
और न ही किसी अन्य कमांड पर पाइप करना।
Start-Transcript C:\Temp\secureboot.log
.\Invoke-SecureBootCertServicing.ps1
Stop-Transcript
मशीन-पठनीय प्रति के लिए, जो पूरे फ्लीट में परिणाम एकत्र करते समय उपयोगी है:
.\Invoke-SecureBootCertServicing.ps1 -JsonPath C:\Temp\secureboot.json
रिपोर्ट सर्विसिंग स्थिति और माइग्रेशन स्थिति को अलग-अलग दिखाती है।
ये व्यवहार में वास्तव में भिन्न होते हैं। एक मशीन UEFICA2023Status = Updated रिपोर्ट कर सकती
है जबकि डिस्क पर दोनों बूट-मैनेजर बाइनरी अभी भी 2011-हस्ताक्षरित हैं — ऐसा तब होता है जब
फर्मवेयर 2023 CA पूर्व-पंजीकृत भेजा गया था, इसलिए प्रमाणपत्र पक्ष पूर्ण हुआ जबकि बूट-मैनेजर
पक्ष कभी नहीं चला। दोनों को एक फ़ील्ड में मोड़ने पर वह मशीन समाप्त रिपोर्ट होती है जब वह
आधी-माइग्रेटेड होती है।
उसी कारण से स्क्रिप्ट WindowsUEFICA2023Capable से स्थिति प्राप्त नहीं करती।
Microsoft का प्रलेखन उस मान के बारे में शब्दशः कहता है: "केवल संदर्भ के लिए - Secure Boot अपडेट की स्थिति प्राप्त करते समय इस कुंजी का उपयोग न करें।" इसे केवल निदान के रूप में कैप्चर किया जाता है।
सर्विसिंग चरण फर्मवेयर स्थिति बदलते हैं, जो उन TPM PCR को स्थानांतरित कर सकता है जिन पर BitLocker प्रोटेक्टर सील किया गया है, जो अगले बूट पर पुनर्प्राप्ति-कुंजी संकेत उत्पन्न कर सकता है।
-Apply चलाने से पहले
पुष्टि करें कि आपकी एस्क्रो स्वस्थ है।-SuspendBitLocker अगले रीबूट में सुरक्षा निलंबित करता है ताकि परिवर्तन बिना संकेत के
पुनः-सील हो जाए। BitLocker बाद में स्वचालित रूप से फिर से शुरू हो जाता है।BitLocker स्थिति तीन स्वतंत्र तरीकों से पढ़ी जाती है (Get-BitLockerVolume, manage-bde, और
Win32_EncryptableVolume) और समाधान की जाती है। यदि पाठक असहमत हैं, या यदि कोई भी वॉल्यूम
नहीं पढ़ सकता, तो स्क्रिप्ट अनुमान लगाने के बजाय फर्मवेयर बदलने से इनकार करती है।
वर्चुअल मशीनें डिफ़ॉल्ट रूप से बाहर रखी जाती हैं: 2023 CA फर्मवेयर बेसलाइन तक BIOS अपडेट के माध्यम से पहुँचता है, और VM का फर्मवेयर उसके हाइपरवाइज़र से आता है — एक अपडेट-रहित होस्ट पर गेस्ट स्वयं माइग्रेशन पूर्ण नहीं कर सकता।
Windows 11 (बिल्ड 26200, PowerShell 5.1, SYSTEM के रूप में चल रहा है), Secure Boot सक्षम UEFI, PCR 7,11 प्रोफ़ाइल पर TPM + RecoveryPassword प्रोटेक्टर के साथ पूरी तरह एन्क्रिप्टेड BitLocker पर अंत से अंत तक परीक्षण किया गया:
Windows UEFI CA 2023 पर भरोसा
कर रहा था जबकि bootmgfw.efi अभी भी Microsoft Windows Production PCA 2011 द्वारा हस्ताक्षरित था — और उसे
समाप्त रिपोर्ट नहीं किया, इस तथ्य के बावजूद कि उस मशीन ने साथ ही
UEFICA2023Status = Updated और WindowsUEFICA2023Capable = 2 रिपोर्ट किया।0x80 प्रत्याहरण बिट (निकास 1)।-Apply ने 0x5944 लिखा, एक स्वतंत्र रजिस्ट्री पठन द्वारा पुष्टि की गई।-SuspendBitLocker के बाद रीबूट: मशीन बिना पुनर्प्राप्ति संकेत के लौटी
और BitLocker स्वचालित रूप से फिर से शुरू हुआ।Start-Transcript ने पूरी रिपोर्ट कैप्चर की; JSON आउटपुट में कोई पुनर्प्राप्ति-कुंजी
सामग्री नहीं थी।अभी तक नहीं देखा गया: एक मशीन जो पूर्ण माइग्रेशन से FullyMigrated तक पहुँचती है। अंतिम
चरण Microsoft के चरणबद्ध प्रति-उपकरण रोलआउट द्वारा नियंत्रित है, जो किसी के नियंत्रण से बाहर है।
स्क्रिप्ट उस गेट के बताए गए कारण को सतह पर लाती है, न कि इसे एक अवर्णित नो-ऑप के रूप में छोड़ती है।
MIT — LICENSE देखें। जैसे-है-वैसे प्रदान किया गया, बिना किसी वारंटी के। अपने परिवेश में चलाने से पहले इसकी समीक्षा करें; यह ठीक उसी कारण से एक एकल पठनीय फ़ाइल है।
| गुण | विवरण |
|---|
| डिफ़ॉल्ट व्यवहार | केवल आकलन। -Apply के बिना शून्य लेखन। |
| निर्भरताएँ | कोई नहीं। कोई मॉड्यूल नहीं, कोई इंस्टॉलर नहीं। Windows PowerShell 5.1। |
| नेटवर्क पहुँच | कोई नहीं। यह कभी किसी होस्ट से संपर्क नहीं करती। |
| टेलीमेट्री / रिपोर्टिंग | कोई नहीं। जो कुछ भी यह पाती है, वह आपके कंसोल पर प्रिंट करती है। कुछ भी मशीन से बाहर नहीं जाता। |
| BitLocker पुनर्प्राप्ति कुंजियाँ | कभी नहीं पढ़ी जातीं, प्रिंट नहीं होतीं, या प्रेषित नहीं होतीं। यह केवल जाँचती है कि पुनर्प्राप्ति-पासवर्ड प्रोटेक्टर मौजूद है या नहीं। |
-Apply क्या लिखता है | बिल्कुल एक रजिस्ट्री मान: AvailableUpdates = 0x5944 HKLM\SYSTEM\CurrentControlSet\Control\Secureboot के अंतर्गत। प्रलेखित KB5025885 ऑप्ट-इन। योगात्मक — यह 2011 वाले को हटाए बिना 2023 प्रमाणपत्र जोड़ता है। |
| अपरिवर्तनीय क्रियाएँ | पूर्ण रूप से अस्वीकृत। 0x80 DBX प्रत्याहरण बिट स्थायी है जब तक Secure Boot सक्षम रहता है; स्क्रिप्ट उस बिट वाले किसी भी मान को तब तक अस्वीकार करती है जब तक -AllowRevocation स्पष्ट रूप से पारित न किया जाए। इसे पारित न करें। |
| रीबूट | यह कभी मशीन को रीबूट नहीं करती और उपयोगकर्ता से कभी संकेत नहीं माँगती। |
| निर्णय | अर्थ | निकास |
|---|
ReadyToArm | KEK 2023 मौजूद है, DB अभी माइग्रेट नहीं हुआ, ऑप्ट-इन नहीं किया गया। -Apply अगला कदम है। | 0 |
HalfMigrated | फर्मवेयर 2023 CA पर भरोसा करता है लेकिन मशीन अभी भी 2011-हस्ताक्षरित लोडर से बूट होती है। आज ठीक है; अगर 2011 कभी प्रत्याहृत होता तो बूट विफल हो जाता। फिर भी बूट-मैनेजर अपडेट की आवश्यकता है। | 0 |
HalfMigrated-Armed | ऊपर जैसा, और पहले से ऑप्ट-इन किया हुआ। मशीन को पुनः आरंभ करें — -Apply दोबारा न चलाएँ। | 0 |
AlreadyQueued | ऑप्ट-इन किया हुआ, Microsoft के चरणबद्ध रोलआउट की प्रतीक्षा कर रहा है। | 0 |
InProgress / RebootPending | सर्विसिंग जारी है। प्रगति देखने के लिए रीबूट करें और फिर से चलाएँ। | 0 |
FullyMigrated | पूर्ण। बूट मैनेजर 2023-हस्ताक्षरित है। | 2 |
BlockedNoKek2023 | KEK 2023 अनुपस्थित है। पहले लंबित Windows अपडेट और/या OEM BIOS अपडेट इंस्टॉल करें। | 3 |
BlockedFirmwareKek | फर्मवेयर के पास इस मशीन की प्लेटफ़ॉर्म कुंजी द्वारा हस्ताक्षरित कोई KEK नहीं है। OEM BIOS अपडेट की आवश्यकता है (या, VM पर, होस्ट अपडेट की)। | 3 |
NotApplicable-* | लीगेसी BIOS, या Secure Boot अक्षम। | 2 |
Error | सर्विसिंग ने त्रुटि की सूचना दी; त्रुटि कोड प्रिंट किया जाता है। | 0 |
| पैरामीटर | डिफ़ॉल्ट | उद्देश्य |
|---|
-Apply | बंद | लेखन करें। इसके बिना, केवल-पठनीय। |
-SuspendBitLocker | बंद | सर्विसिंग रीबूट के दौरान BitLocker निलंबित करें। |
-RebootCount | 1 | कितने रीबूट के लिए निलंबित रखना है (1–15)। |
-JsonPath | कोई नहीं | आकलन को JSON के रूप में भी लिखें। |
-MountPoint | सिस्टम ड्राइव | मूल्यांकन करने के लिए वॉल्यूम। |
-ApplyValue | 0x5944 | AvailableUpdates DWORD। |
-AllowRevocation | बंद | अपरिवर्तनीय 0x80 DBX बिट वाले किसी भी मान के लिए आवश्यक। इसे पारित न करें। |
-AllowVirtualMachine | बंद | VM को सशस्त्र करने की अनुमति दें। |
-AllowServer | बंद | सर्वर SKU को सशस्त्र करने की अनुमति दें। |