PowerShell में रजिस्ट्री प्रबंधित करें

Complete

अनुभवी सिस्टम प्रशासक ग्राफ़िकल रजिस्ट्री संपादक से परिचित हैं, जिसका उपयोग वे रजिस्ट्री कुंजियों, प्रविष्टियों और मानों को प्रबंधित करने के लिए कर सकते हैं। हालाँकि, आप Windows PowerShell और रजिस्ट्री प्रदाता का उपयोग करके भी रजिस्ट्री प्रबंधित कर सकते हैं।

रजिस्ट्री के किसी भी भाग के लिए PowerShell ड्राइव्स बनाने के लिए आप New-PSDrive cmdlet का उपयोग कर सकते हैं. PowerShell स्वचालित रूप से दो PowerShell ड्राइव्स बनाने के लिए रजिस्ट्री प्रदाता का उपयोग करता है:

  • एचकेएलएम. HKEY_LOCAL_MACHINE रजिस्ट्री हाइव का प्रतिनिधित्व करता है।

  • एचकेसीयूHKEY_LOCAL_USER रजिस्ट्री हाइव का प्रतिनिधित्व करता है।

आप आइटम और ChildItem संज्ञाओं के साथ cmdlets का उपयोग करके रजिस्ट्री कुंजियों तक पहुँचते हैं, जबकि आप प्रविष्टियों और मानों के साथ cmdlets ItemProperty और ItemPropertyValue संज्ञाओं के साथ पहुँच सकते हैं। ऐसा इसलिए है क्योंकि PowerShell रजिस्ट्री प्रविष्टियों को एक कुंजी आइटम के गुण मानता है.

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion पथ के अंतर्गत सभी रजिस्ट्री कुंजियों को वापस करने के लिए, निम्न आदेश चलाएँ:

Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion

रजिस्ट्री के भीतर, एक रजिस्ट्री कुंजी एक फ़ाइल सिस्टम के भीतर एक फ़ोल्डर के बराबर होती है जिसका उपयोग जानकारी को व्यवस्थित करने के लिए किया जाता है। ऐप्स द्वारा उपयोग की जाने वाली जानकारी रजिस्ट्री मानों में संग्रहीत की जाती है। मान नाम मान के लिए एक अद्वितीय पहचानकर्ता है, और मान डेटा ऐप्स द्वारा उपयोग की जाने वाली जानकारी है।

उदाहरण के लिए, HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run पथ के अंतर्गत रजिस्ट्री मान वापस करने के लिए, निम्न आदेश चलाएँ:

Get-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

आप किसी विशिष्ट रजिस्ट्री प्रविष्टि का मान प्राप्त करने के लिए Get-ItemPropertyValue cmdlet उपयोग कर सकते हैं। उदाहरण के लिए, यदि आप WindowsDefender प्रविष्टि के मान द्वारा पहचाने गए Windows डिफ़ेंडर निष्पादन योग्य पथ वापस करना चाहते हैं, तो निम्न आदेश चलाएँ:

Get-ItemPropertyValue HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run -Name WindowsDefender

नोट

रजिस्ट्री प्रदाता cmdlet Invoke-Item का समर्थन नहीं करता. रजिस्ट्री कुंजियों, प्रविष्टियों या मानों के लिए कोई डिफ़ॉल्ट क्रिया नहीं है।

रजिस्ट्री प्रदाता एक डायनेमिक पैरामीटर, -प्रकारका समर्थन करता है जो रजिस्ट्री प्रदाता के लिए अनन्य हैं *-ItemProperty cmdlets के लिए। निम्न तालिका मान्य पैरामीटर मान और उनके समतुल्य रजिस्ट्री डेटा प्रकारों को सूचीबद्ध करता है।

तालिका 1: रजिस्ट्री डेटा प्रकार

पैरामीटर मान रजिस्ट्री डेटा प्रकार
तार REG_SZ
स्ट्रिंग का विस्तार करें REG_EXPAND_SZ
द्वि-अंगी REG_BINARY
डीवार्ड REG_DWORD
मल्टीस्ट्रिंग REG_MULTI_SZ
QWord REG_QWORD
अप्रसिद्घ व्यक्ति असमर्थित प्रकार जैसे REG_RESOURCE_LIST

रजिस्ट्री प्रदाता उन अंतरणों का समर्थन करता है जो आपको एकल इकाई के रूप में एकाधिक आदेशों को प्रबंधित करने की अनुमति देते हैं. लेन-देन में आदेश या तो सभी प्रतिबद्ध (पूर्ण) होंगे या परिणाम वापस ले लिए जाएंगे (पूर्ववत)। यह सुविधा आपको इस चिंता के बिना कई रजिस्ट्री मानों को एक साथ सेट करने की अनुमति देती है कि कुछ सेटिंग्स सफलतापूर्वक अपडेट हो जाएंगी जबकि अन्य विफल हो सकती हैं। हस्तांतरण में एक आदेश शामिल करने के लिए -UseTransaction पैरामीटर का उपयोग करें।

नोट

Windows PowerShell में लेन-देन के बारे में अधिक जानकारी के लिए, about_Transactions मदद विषय देखें.

नोट

रजिस्ट्री कुंजियों और मानों को संशोधित करने का प्रयास करने से पहले अपनी रजिस्ट्री सेटिंग्स का बैकअप लेना याद रखें. आप reg.exe आदेश का उपयोग करके रजिस्ट्री सेटिंग्स को किसी फ़ाइल में निर्यात कर सकते हैं.