A Windows beállításjegyzék kezelése a PowerShell segítségével

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

megjegyzés. A -Recurse kapcsoló azt mondja, hogy minden beágyazott alszakaszt rekurzív módon törölnie kell megerősítés nélkül

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")

tanács. Ha sok tartományi számítógépen létre kell hoznia / módosítania kell egy adott beállításjegyzék-beállítást, könnyebb használni a GPO-szolgáltatásokat.

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.