Computer >> कंप्यूटर >  >> प्रणाली >> Windows Server

पावरशेल:रजिस्ट्री कुंजी या पैरामीटर प्राप्त करें, संशोधित करें, बनाएं और निकालें

रजिस्ट्री संपादक (regedit.exe ) और reg.exe विंडोज़ में रजिस्ट्री तक पहुँचने और प्रबंधित करने के लिए कमांड-लाइन उपयोगिता एकमात्र उपकरण नहीं है। PowerShell व्यवस्थापक को रजिस्ट्री के साथ सहभागिता करने के लिए बड़ी संख्या में उपकरण प्रदान करता है। पावरशेल का उपयोग करके, आप रजिस्ट्री कुंजी/पैरामीटर बना सकते हैं, संशोधित कर सकते हैं या हटा सकते हैं, मान की खोज कर सकते हैं और दूरस्थ कंप्यूटर पर रजिस्ट्री से कनेक्ट कर सकते हैं।

Windows रजिस्ट्री को PowerShell के साथ फ़ाइल सिस्टम की तरह नेविगेट करें

PowerShell में रजिस्ट्री के साथ कार्य करना स्थानीय डिस्क पर सामान्य फ़ाइलों के साथ कार्य करने के समान है। मुख्य अंतर यह है कि इस अवधारणा में रजिस्ट्री कुंजियाँ फ़ाइलों के अनुरूप हैं, और रजिस्ट्री पैरामीटर इन फ़ाइलों के गुण हैं।

अपने कंप्यूटर पर उपलब्ध ड्राइव की सूची प्रदर्शित करें:

get-psdrive

पावरशेल:रजिस्ट्री कुंजी या पैरामीटर प्राप्त करें, संशोधित करें, बनाएं और निकालें

ध्यान दें कि ड्राइव के बीच (साइन किए गए ड्राइव अक्षरों के साथ) रजिस्ट्री प्रदाता के माध्यम से विशेष उपकरण उपलब्ध हैं। - HKCU (HKEY_CURRENT_USER) और HKLM (HKEY_LOCAL_MACHINE)। आप रजिस्ट्री ट्री को उसी तरह ब्राउज़ कर सकते हैं जैसे आप अपने ड्राइव पर नेविगेट करते हैं। HKLM:\ और HKCU:\ एक विशिष्ट रजिस्ट्री हाइव तक पहुँचने के लिए उपयोग किया जाता है।

cd HKLM:\
Dir -ErrorAction SilentlyContinue

पावरशेल:रजिस्ट्री कुंजी या पैरामीटर प्राप्त करें, संशोधित करें, बनाएं और निकालें

यानी, आप उसी PowerShell cmdlets का उपयोग करके रजिस्ट्री कुंजी और उनके पैरामीटर तक पहुंच सकते हैं जिसका उपयोग आप फ़ाइलों और फ़ोल्डरों को प्रबंधित करने के लिए करते हैं।

रजिस्ट्री कुंजियों को संदर्भित करने के लिए, xxx-आइटम . के साथ cmdlets का उपयोग करें :

  • Get-Item - एक रजिस्ट्री कुंजी प्राप्त करें
  • New-Item — एक नई रजिस्ट्री कुंजी बनाएं
  • Remove-Item - एक रजिस्ट्री कुंजी हटाएं

रजिस्ट्री पैरामीटर को रजिस्ट्री कुंजी के गुणों के रूप में माना जाना चाहिए (फ़ाइल/फ़ोल्डर गुणों के समान)। xxx -आइटमप्रॉपर्टी cmdlets का उपयोग रजिस्ट्री मापदंडों को प्रबंधित करने के लिए किया जाता है:

  • Get-ItemProperty - रजिस्ट्री पैरामीटर का मान प्राप्त करें
  • Set-ItemProperty - रजिस्ट्री पैरामीटर का मान बदलें
  • New-ItemProperty - रजिस्ट्री पैरामीटर बनाएं
  • Rename-ItemProperty - पैरामीटर का नाम बदलें
  • Remove-ItemProperty - रजिस्ट्री पैरामीटर हटाएं

आप दो आदेशों में से एक का उपयोग करके विशिष्ट रजिस्ट्री कुंजी (उदाहरण के लिए, स्वचालित ड्राइवर अपडेट की सेटिंग के लिए जिम्मेदार) पर नेविगेट कर सकते हैं:

cd HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching
या
Set-Location -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching

पावरशेल के माध्यम से रजिस्ट्री पैरामीटर मान प्राप्त करें

कृपया ध्यान दें कि रजिस्ट्री कुंजी में संग्रहीत पैरामीटर नेस्टेड ऑब्जेक्ट नहीं हैं, बल्कि एक विशिष्ट रजिस्ट्री कुंजी की संपत्ति हैं। उन किसी भी रजिस्ट्री कुंजी में कितने भी पैरामीटर हो सकते हैं।

कमांड का उपयोग करके वर्तमान रजिस्ट्री कुंजी की सामग्री को सूचीबद्ध करें:

dir

या

Get-ChildItem

कमांड ने नेस्टेड रजिस्ट्री कुंजियों और उनके गुणों के बारे में जानकारी प्रदर्शित की है। लेकिन SearchOrderConfig पैरामीटर के बारे में जानकारी प्रदर्शित नहीं की, जो वर्तमान कुंजी की एक संपत्ति है।

गेट-आइटम का उपयोग करें cmdlet रजिस्ट्री कुंजी के पैरामीटर प्राप्त करने के लिए:

Get-Item .
या
Get-Item –Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching

जैसा कि आप देख सकते हैं, DriverSearching कुंजी का केवल एक पैरामीटर है - SearchOrderConfig 1 के मान के साथ।

पावरशेल:रजिस्ट्री कुंजी या पैरामीटर प्राप्त करें, संशोधित करें, बनाएं और निकालें

रजिस्ट्री कुंजी पैरामीटर का मान प्राप्त करने के लिए, Get-ItemProperty cmdlet का उपयोग करें।

$DriverUpdate = Get-ItemProperty –Path ‘HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching’
$DriverUpdate.SearchOrderConfig

पावरशेल:रजिस्ट्री कुंजी या पैरामीटर प्राप्त करें, संशोधित करें, बनाएं और निकालें

हमने पाया कि SearchOrderConfig पैरामीटर का मान 1 है।

पावरशेल के साथ रजिस्ट्री मान बदलना

SearchOrderConfig reg पैरामीटर का मान बदलने के लिए, Set-ItemProperty cmdlet का उपयोग करें:

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching' -Name SearchOrderConfig -Value 0

सुनिश्चित करें कि पैरामीटर मान बदल गया है:

Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching' -Name SearchOrderConfig

पावरशेल:रजिस्ट्री कुंजी या पैरामीटर प्राप्त करें, संशोधित करें, बनाएं और निकालें

पावरशेल के साथ एक नई रजिस्टर कुंजी या पैरामीटर कैसे बनाएं?

नई रजिस्ट्री कुंजी बनाने के लिए, न्यू-आइटम कमांड का उपयोग करें। आइए NewKey . नाम से एक नई कुंजी बनाएं :

$HKCU_Desktop= "HKCU:\Control Panel\Desktop"
New-Item –Path $HKCU_Desktop –Name NewKey

अब एक नई रजिस्ट्री कुंजी में एक नया पैरामीटर बनाते हैं। मान लीजिए कि हमें SuperParamString नामक REG_SZ प्रकार का एक नया स्ट्रिंग पैरामीटर बनाने की आवश्यकता है और मान filetmp1.txt:

New-ItemProperty -Path $HKCU_Desktop\NewKey -Name "SuperParamString" -Value ”filetmp1.txt”  -PropertyType "String"

आप रजिस्ट्री पैरामीटर के लिए निम्न डेटा प्रकारों का उपयोग कर सकते हैं:

  • स्ट्रिंग (REG_SZ)
  • विस्तार स्ट्रिंग (REG_EXPAND_SZ)
  • मल्टीस्ट्रिंग (REG_MULTI_SZ)
  • बाइनरी (REG_BINARY)
  • डीवर्ड (REG_DWORD)
  • Qword (REG_QWORD)
  • अज्ञात (असमर्थित रजिस्ट्री डेटा प्रकार)

सुनिश्चित करें कि नई कुंजी और पैरामीटर रजिस्ट्री में दिखाई दिए हैं।

पावरशेल:रजिस्ट्री कुंजी या पैरामीटर प्राप्त करें, संशोधित करें, बनाएं और निकालें

कैसे जांचें कि रजिस्ट्री कुंजी मौजूद है या नहीं?

यदि आपको यह जाँचने की आवश्यकता है कि क्या कोई विशिष्ट रजिस्ट्री कुंजी मौजूद है, तो परीक्षण-पथ . का उपयोग करें सीएमडीलेट:

Test-Path 'HKCU:\Control Panel\Desktop\NewKey'

निम्न पावरशेल स्क्रिप्ट जांच करेगी कि क्या कोई विशिष्ट रजिस्ट्री मान मौजूद है, और यदि नहीं, तो इसे बनाएं।

regkey='HKCU:\Control Panel\Desktop\NewKey'
$regparam='testparameter'
if (Get-ItemProperty -Path $regkey -Name $regparam -ErrorAction Ignore)
{ write-host 'The registry entry already exist' }
else
{ New-ItemProperty -Path $regkey -Name $regparam -Value ”woshub_test”  -PropertyType "String"  }

कॉपी-आइटम का उपयोग करना cmdlet, आप प्रविष्टियों को एक रजिस्ट्री कुंजी से दूसरे में कॉपी कर सकते हैं:

$source='HKLM:\SOFTWARE\7-zip\'
$dest = 'HKLM:\SOFTWARE\backup'
Copy-Item -Path $source -Destination $dest -Recurse

यदि आप उपकुंजियों सहित सब कुछ कॉपी करना चाहते हैं, तो –Recurse . जोड़ें स्विच करें।

रजिस्ट्री कुंजी या पैरामीटर मिटाना

निकालें-आइटमप्रॉपर्टी कमांड का उपयोग रजिस्ट्री कुंजी में एक पैरामीटर को हटाने के लिए किया जाता है। आइए पहले बनाए गए SuperParamString पैरामीटर को हटा दें:

$HKCU_Desktop= "HKCU:\Control Panel\Desktop"
Remove-ItemProperty –Path $HKCU_Desktop\NewKey –Name "SuperParamString"

आप संपूर्ण रजिस्ट्री कुंजी को उसकी सभी सामग्री के साथ हटा सकते हैं:

Remove-Item –Path $HKCU_Desktop\NewKey –Recurse

नोट. -Recurse स्विच इंगित करता है कि सभी उपकुंजियों को पुनरावर्ती रूप से हटाना होगा।

reg कुंजी में सभी आइटम निकालने के लिए (लेकिन स्वयं कुंजी नहीं):

Remove-Item –Path $HKCU_Desktop\NewKey\* –Recurse

रजिस्ट्री कुंजी या पैरामीटर का नाम कैसे बदलें?

आप कमांड के साथ रजिस्ट्री पैरामीटर का नाम बदल सकते हैं:

Rename-ItemProperty –path ‘HKCU:\Control Panel\Desktop\NewKey’ –name "SuperParamString" –newname “OldParamString”

उसी तरह, आप रजिस्ट्री कुंजी का नाम बदल सकते हैं:

Rename-Item -path 'HKCU:\Control Panel\Desktop\NewKey' OldKey

पावरशेल का उपयोग करके कीवर्ड के लिए रजिस्ट्री खोजें

पावरशेल आपको रजिस्ट्री को खोजने की अनुमति देता है। अगला निम्नलिखित पैरामीटर के लिए HKCU:\Control Panel\Desktop खोजता है, जिनके नाम में *dpi शामिल है * कुंजी।

$Path = (Get-ItemProperty ‘HKCU:\Control Panel\Desktop’)
$Path.PSObject.Properties | ForEach-Object {
If($_.Name -like '*dpi*'){
Write-Host $_.Name ' = ' $_.Value
}
}

विशिष्ट नाम वाली रजिस्ट्री कुंजी ढूँढ़ने के लिए:

Get-ChildItem -path HKLM:\ -recurse -ErrorAction SilentlyContinue | Where-Object {$_.Name -like "*woshub*"}

पावरशेल के साथ रजिस्ट्री कुंजी अनुमतियां सेट करना

आप Get-ACL cmdlet का उपयोग करके वर्तमान रजिस्ट्री कुंजी अनुमतियां प्राप्त कर सकते हैं (Get-ACL cmdlet आपको फ़ाइलों और फ़ोल्डरों पर NTFS अनुमतियों को प्रबंधित करने की भी अनुमति देता है)।

$rights = Get-Acl -Path 'HKCU:\Control Panel\Desktop\NewKey'
$rights.Access.IdentityReference

पावरशेल:रजिस्ट्री कुंजी या पैरामीटर प्राप्त करें, संशोधित करें, बनाएं और निकालें

निम्नलिखित उदाहरण में, हम अंतर्निहित उपयोगकर्ता समूह को लेखन पहुंच प्रदान करने के लिए इस रजिस्ट्री कुंजी में ACL को संशोधित करेंगे।

वर्तमान अनुमतियां प्राप्त करें:

$rights = Get-Acl -Path 'HKCU:\Control Panel\Desktop\NewKey'

उस उपयोगकर्ता या समूह को निर्दिष्ट करें जिसे आप एक्सेस देना चाहते हैं:

$idRef = [System.Security.Principal.NTAccount]"BuiltIn\Users"

पहुंच स्तर चुनें:

$regRights = [System.Security.AccessControl.RegistryRights]::WriteKey
अनुमतियां इनहेरिटेंस सेटिंग सेट करें :

$inhFlags = [System.Security.AccessControl.InheritanceFlags]::None
$prFlags = [System.Security.AccessControl.PropagationFlags]::None

एक्सेस प्रकार (अनुमति दें/अस्वीकार करें):

$acType = [System.Security.AccessControl.AccessControlType]::Allow
एक एक्सेस नियम बनाएं:

$rule = New-Object System.Security.AccessControl.RegistryAccessRule ($idRef, $regRights, $inhFlags, $prFlags, $acType)

मौजूदा ACL में एक नया नियम जोड़ें:

$rights.AddAccessRule($rule)

रजिस्ट्री कुंजी के लिए नई अनुमतियाँ लागू करें:

$rights | Set-Acl -Path 'HKCU:\Control Panel\Desktop\NewKey'

सुनिश्चित करें कि नया समूह रजिस्ट्री कुंजी के ACL में दिखाई देता है।

पावरशेल:रजिस्ट्री कुंजी या पैरामीटर प्राप्त करें, संशोधित करें, बनाएं और निकालें

रिमोट कंप्यूटर से PowerShell के माध्यम से रजिस्ट्री मान प्राप्त करना

पावरशेल आपको दूरस्थ कंप्यूटर की रजिस्ट्री तक पहुंचने की अनुमति देता है। आप WinRM (Invoke-Command या Enter-PSSession) का उपयोग करके किसी दूरस्थ कंप्यूटर से कनेक्ट कर सकते हैं। किसी दूरस्थ कंप्यूटर से रजिस्ट्री पैरामीटर का मान प्राप्त करने के लिए:

Invoke-Command –ComputerName srv-fs1 –ScriptBlock {Get-ItemProperty -Path 'HKLM:\System\Setup' -Name WorkingDirectory}

या दूरस्थ रजिस्ट्री कनेक्शन का उपयोग करना (RemoteRegistry सेवा सक्षम होनी चाहिए)

$Server = "lon-fs1"
$Reg = [Microsoft.Win32.RegistryKey]::OpenRemoteBaseKey('LocalMachine', $Server)
$RegKey= $Reg.OpenSubKey("System\Setup")
$RegValue = $RegKey.GetValue("WorkingDirectory")

युक्ति . यदि आपको कई डोमेन कंप्यूटरों पर एक निश्चित रजिस्ट्री पैरामीटर बनाना/संशोधित करना है, तो जीपीओ सुविधाओं का उपयोग करना आसान है।

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


  1. विंडोज 10 में रजिस्ट्री में बदलाव कब सेव होते हैं और क्यों?

    जब आप मैन्युअल रूप से Windows रजिस्ट्री में परिवर्तन करते हैं या जब किसी सॉफ़्टवेयर या डिवाइस ड्राइवर की स्थापना या स्थापना रद्द करने के दौरान Windows रजिस्ट्री में परिवर्तन किए जाते हैं, तो Windows 10 या Windows सर्वर रजिस्ट्री में तुरंत परिवर्तन नहीं करता है। रजिस्ट्री में परिवर्तन कब सहेजे जाते

  1. Mac पर कुंजियों को कैसे निकालें, स्थानांतरित करें, स्वैप करें और बदलें?

    हमारे सरल मैक कीबोर्ड रिपेयर गाइड के साथ अपने iMac, Mac या MacBook लैपटॉप की कुंजियों को हटाने, स्वैप करने, बदलने, मरम्मत करने और साफ करने का तरीका जानें। प्लस:मैक ओएस एक्स और मुफ्त मैक टूल्स का उपयोग करके मुख्य कार्यों को कैसे स्वैप करें। मैं अपने Mac कीबोर्ड से कुंजियाँ कैसे निकालूँ, फिर बाद में

  1. रजिस्ट्री कुंजी और मान कैसे जोड़ें, संशोधित करें और हटाएं?

    रजिस्ट्री एडिटर को विंडोज कंप्यूटर की रीढ़ कहा जाता है। इसमें इंस्टॉल किए गए प्रोग्राम और हार्डवेयर के लिए जानकारी, सेटिंग्स, विकल्प और अन्य मान शामिल हैं। यदि आप एक सामान्य उपयोगकर्ता हैं तो आप रजिस्ट्री संपादक का उपयोग नहीं करेंगे। हालाँकि, यदि आप एक पेशेवर हैं और Windows उन्नत सेटिंग्स के बारे मे