A PowerShell az első verziótól kezdve nagyszámú eszközt biztosít a rendszergazdának a Windows rendszerleíró adatbázis kezelésére. Ha szükséges, az összes tipikus regisztrációs műveletet nem a régi jó Regedit felületről vagy a reg.exe segédprogramról, hanem a PowerShell parancssorból lehet végrehajtani. És különféle szkriptekben és szkriptekben ez általában pótolhatatlan. Ebben a cikkben megvizsgáljuk, hogyan lehet a PowerShell használatával létrehozni, szerkeszteni, törölni a Windows rendszerleíró adatbázis kulcsait és paramétereit, keresni és csatlakozni a nyilvántartáshoz egy távoli számítógépen.
Tartalom:
- Navigáció a nyilvántartásban a PowerShell használatával
- Hogyan változtassuk meg a regisztrációs értéket
- Új szakasz (kulcs) vagy beállításjegyzék bejegyzés létrehozása
- Nyilvántartási kulcs vagy beállítás eltávolítása
- Kulcs vagy paraméter átnevezése
- Keressen a rendszerleíró adatbázisban a PowerShell használatával
- Távoli regisztrációs hozzáférés a PowerShell használatával
Navigáció a nyilvántartásban a PowerShell használatával
A rendszerleíró adatbázis használata a PowerShellben hasonló a helyi meghajtón lévő szokásos fájlok kezeléséhez.
Soroljuk fel a rendelkezésre álló meghajtókat:
get-psdrive
Mint láthatja, a beépített szolgáltató két regisztrációs ág tartalmához férhet hozzá: HKEY_CURRENT_USER (HKCU) és HKEY_LOCAL_MACHINE (HKLM). A rendszerleíró fióktelepek a lemezekhez hasonlóan címzettekHKLM: \ és HKCU: \). Például, ha a HKLM ág gyökerébe szeretne lépni, tegye a következőket:
CD HKLM: \
A Set-Location paranccsal (rövid álnév sl) eljuthat egy adott nyilvántartási ághoz (például az automatikus illesztőprogram-frissítések beállításáért felelős).
Set-Location -Path HKLM: \ SZOFTVER \ Microsoft \ Windows \ CurrentVersion \ Driver Searching
Sorolja fel az ág tartalmát:
dir
vagy
Get-ChildItem
Nyissa meg ugyanazt az ágot a beállításjegyzék-szerkesztőben. Mint láthatja, az utolsó parancs csak a beágyazott ágakkal kapcsolatos információkat jelenítette meg, de az aktuális ág paramétereit nem.
A tény az, hogy a PowerShell szempontjából a beállításjegyzék ág (kulcs) a fájl analógja, és a rendszerleíró kulcsban tárolt paraméterek a fájl tulajdonságai.
Ezért az ebben az ágban található paraméterek beolvasásához használja a Get-Item parancsmagot:
Get-pont .
vagy
Get-Item -Path HKLM: \ SZOFTVER \ Microsoft \ Windows \ CurrentVersion \ DriverSearching
Mint láthatja, a DriverSearching kulcsnak csak egy paramétere van - a SearchOrderConfig értéke 0.
Egy adott kulcsparaméter eléréséhez használja a Get-ItemProperty parancsmagot. Például az ág tartalmát hozzárendeljük egy bizonyos változóhoz, és megkapjuk az adott paraméter értékét:
$ DriverUpdate = Get-ItemProperty -Path “HKLM: \ SZOFTVER \ Microsoft \ Windows \ CurrentVersion \ DriverSearching”
$ DriverUpdate.SearchOrderConfig
Megkapjuk, hogy a SearchOrderConfig paraméter értéke 1.
Hogyan változtassuk meg a regisztrációs értéket
A paraméter értékének megváltoztatásához használja a Set-ItemProperty parancsmagot:
Set-ItemProperty -A 'HKLM elérési útja: \ SZOFTVER \ Microsoft \ Windows \ CurrentVersion \ Driver Searching' - Név SearchOrderConfig -Érték 0
Ellenőrizze, hogy az érték megváltozott:
Get-ItemProperty - A 'HKLM elérési útja: \ SZOFTVER \ Microsoft \ Windows \ CurrentVersion \ DriverSearch' - Név SearchOrderConfig
Új szakasz (kulcs) vagy beállításjegyzék bejegyzés létrehozása
Új regisztrációs ág hozzáadásához használja az Új elem parancsot. Hozzon létre egy új ágot, NewKey néven:
$ HKCU_Desktop = "HKCU: \ Vezérlőpult \ Asztal"
Új tétel -Path $ HKCU_Desktop -Név NewKey
A létrehozott ághoz adjon hozzá egy új karakterlánc-paramétert a SuperParamString névvel és a fájlnév.txt értékkel:
New-ItemProperty -Path $ HKCU_Desktop \ NewKey -Név "SuperParamString" -Value ”file_name.txt” -PropertyType "String"
Győződjön meg arról, hogy új kulcs és paraméter jelenik meg a beállításjegyzékben.
Nyilvántartási kulcs vagy beállítás eltávolítása
Törölje a korábban létrehozott SuperParamString paramétert:
$ HKCU_Desktop = "HKCU: \ Vezérlőpult \ Asztal"
Remove-ItemProperty -Path $ HKCU_Desktop \ NewKey -Név "SuperParamString"
Ezután törölje az egész ágot:
Elem eltávolítása -útvonal $ HKCU_Desktop \ NewKey -Fizetés
Az ág összes elemének törléséhez, de nem magának a szakasznak, a parancs a következő lesz:
Elem eltávolítása - Útvonal $ HKCU_Desktop \ NewKey \ * -Fizetés
Kulcs vagy paraméter átnevezése
Egy paraméter átnevezéséhez használja a következő parancsot:
Átnevezés-ItemProperty -út 'HKCU: \ Vezérlőpult \ Asztal \ NewKey' -név "SuperParamString" -új név "OldParamString"
Hasonlóképpen átnevezheti a regisztrációs ágot:
Nevezze át az elem-útvonal 'HKCU: \ Vezérlőpult \ Asztal \ NewKey' OldKey parancsát
Keressen a rendszerleíró adatbázisban a PowerShell használatával
A PowerShell lehetővé teszi a beállításjegyzékben való keresést is. A következő parancsfájl megkeresi a HKCU ágot: \ Vezérlőpult \ Asztal a dpi-kulcsot tartalmazó paraméterek alapján.
$ Path = (Get-ItemProperty 'HKCU: \ Vezérlőpult \ Asztal')
$ Path.PSObject.Properties | ForEach-Object
If ($ _. Névszerűen '* dpi *')
Write-Host $ _. Név '=' $ _. Érték
Távoli regisztrációs hozzáférés a PowerShell használatával
A PowerShell lehetővé teszi a távoli számítógép nyilvántartásának elérését. Csatlakozhat egy távoli számítógéphez a WinRM (Invoke-Command vagy Enter-PSSession) keresztül:
Invoke-Command -Számítógépnév srv-fs1 -ScriptBlock Get-ItemProperty -Hath 'HKLM: \ System \ Setup' -Name WorkingDirectory
Vagy távoli nyilvántartással való kapcsolaton keresztül (a RemoteRegistry szolgáltatást engedélyezni kell)
$ Server = "srv-fs1"
$ Reg = [Microsoft.Win32.RegistryKey] :: OpenRemoteBaseKey ('LocalMachine', $ Server)
$ RegKey = $ Reg.OpenSubKey ("Rendszer \ Beállítás")
$ RegValue = $ RegKey.GetValue ("WorkingDirectory")
Tehát áttekintettünk egy tipikus példát a PowerShell és a Windows rendszerleíró adatbázis működésének használatára. Mint láthatja, semmi bonyolult.