Ako používať PowerShell na čítanie hodnoty databázy Registry
V tejto zóne S vás Victor naučí, ako používať PowerShell na čítanie hodnoty registra.
Sprievodca začína tým, že vás naučí, ako naformátovať cestu registra na použitie v prostredí PowerShell. Dozviete sa tiež, ako najlepšie skopírovať kľúč databázy Registry na použitie v prostredí PowerShell.
Nakoniec príručka ponúka 10 príkladov s rôznymi spôsobmi použitia PowerShell na čítanie hodnôt databázy Registry.
Sprievodca obsahuje rôzne témy a príklady. Ak si chcete prečítať konkrétnu tému alebo príklad, rozviňte Prehľadávať témy príspevkov nižšie a kliknite na tému.
Prehľadávať témy príspevkov
- Ako formátovať cesty registra pre PowerShell
- Na čítanie hodnoty databázy Registry použite prostredie PowerShell: Príklady
- Ako vrátiť všetky hodnoty v kľúči databázy Registry
- Ako vrátiť konkrétnu hodnotu v kľúči databázy Registry a uložiť ju do premennej
- Ako vrátiť názov podkľúča databázy Registry
- Ako používať PowerShell na čítanie hodnoty databázy Registry a vrátenie binárnych údajov
- Ako používať PowerShell na čítanie hodnoty databázy Registry a vrátenie poľa
- Ako používať PowerShell na získanie hodnoty databázy Registry, ak existuje
- Ako používať PowerShell na získanie a porovnanie hodnôt databázy Registry
- Ako používať PowerShell na získanie kľúča databázy Registry a podkľúčov
- Ako používať PowerShell na získanie LastWriteTime kľúča databázy Registry
- Ako používať PowerShell na získanie veľkosti registra
- Referencie a ďalšie čítanie
Ako formátovať cesty registra pre PowerShell
Predtým, ako vás naučím používať PowerShell na čítanie hodnoty databázy Registry, chcem vás naučiť, ako formátovať cesty databázy Registry na prácu s PowerShell.
Register Windows má 5 kľúčov najvyššej úrovne (koreňové kľúče):
- HKEY_LOCAL_MACHINE
- HKEY_CURRENT_CONFIG
- HKEY_CLASSES_ROOT
- HKEY_USERS
- HKEY_CURRENT_USER
Ak chcete prečítať hodnotu databázy Registry, zadajte kľúč ako cestu v súbore Get-ItemProperty alebo Get-Item Cmdlets. Existujú 2 spôsoby formátovania cesty registra:
Formátovať s úplnou cestou kľúča databázy Registry
Zadajte Register:: nasleduje úplná cesta do registra. Napríklad špecifikovať HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion , Budem používať Register::HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion
Formát so skrátenou cestou kľúča databázy Registry
Môžete tiež zadať skratku kľúča databázy Registry najvyššej úrovne (koreňový kľúč), za ktorou nasleduje dvojbodka (:) a potom úplnú cestu ku kľúču databázy Registry (bez názvu koreňa).
Pre pripomenutie, tu sú skratky pre koreňové kľúče:
HKEY_LOCAL_MACHINE – HKLM
HKEY_CURRENT_CONFIG – HKCC
HKEY_CLASSES_ROOT – HKCR
HKEY_USERS – HKU
HKEY_CURRENT_USER – HKCU
Preto, ak chcete zadať cestu registra, HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion pri tejto druhej metóde to napíše – HKLM:SOFTWAREMicrosoftWindowsCurrentVersion
Všimnite si, že aj keď bol odstránený koreňový názov, prvá lomka () zostala zachovaná.Ako skopírovať názov kľúča databázy Registry
Ešte jedna vec, než prejdem ďalej – je lepšie skopírovať cestu ku kľúču databázy Registry, ktorý si chcete prečítať pomocou PowerShell – namiesto toho, aby ste ju zadávali ručne.
Ak chcete skopírovať kľúč databázy Registry, kliknite naň pravým tlačidlom myši a vyberte Kopírovať názov kľúča . Tu je príklad.
Na čítanie hodnoty databázy Registry použite prostredie PowerShell: Príklady
Teraz, keď už viete, ako naformátovať cestu databázy Registry na použitie v prostredí PowerShell, táto časť obsahuje 10 príkladov použitia prostredia PowerShell na čítanie hodnoty databázy Registry:
Ako vrátiť všetky hodnoty v kľúči databázy Registry
Ak chcete vrátiť všetky hodnoty kľúča databázy Registry, zadajte príkaz nižšie a stlačte kláves enter.
|_+_| Zmeňte cestu na cestu pre kľúč databázy Registry, z ktorého chcete čítať jeho hodnoty. Pamätajte na formátovanie registra z poslednej časti.Príkaz vráti všetky hodnoty v zadanej ceste. Druhá snímka obrazovky nižšie je skutočný záznam v registri.
Ak porovnáte výsledok prostredia PowerShell a hodnoty databázy Registry (druhá tabla), sú úplne rovnaké.
Ako vrátiť konkrétnu hodnotu v kľúči databázy Registry a uložiť ju do premennej
V nadväznosti na poslednú časť príkaz v tejto časti vrátil všetky hodnoty v zadanej ceste registra. Môžete však použiť aj PowerShell na čítanie hodnoty databázy Registry, ale vrátiť konkrétnu hodnotu.
Existuje viacero spôsobov, ako to urobiť.
Posledný príkaz ( Get-ItemProperty príkaz) vrátil hodnoty zobrazené na snímke obrazovky nižšie.
Ak chcete vrátiť hodnotu CommonFilesDir , použite jeden z nižšie uvedených príkazov:
|_+_| |_+_|Tieto dva príkazy vrátia údaje registra, bez názov nehnuteľnosti, CommonFilesDir . Pozrite si snímku obrazovky nižšie:
Nakoniec, pre túto podsekciu môžete použiť PowerShell na čítanie hodnoty registra a uloženie hodnoty do premennej. Údaje registra môžeme napríklad uložiť v poslednom príkaze do premennej tzv $RegData .
Tu je upravený príkaz:
|_+_|Teraz, keď spustíte príkaz, nevráti žiadny výsledok na konzolu, pretože výsledok je uložený v premennej…
Ak však chcete zobraziť výsledok uložený v premennej, spustite premennú…
|_+_|Tu je výsledok v PowerShell…
Ako vrátiť názov podkľúča databázy Registry
Posledný príkaz v poslednej poslednej podsekcii vrátil názvy kľúčov databázy Registry aj ich údaje.
Niekedy však možno budete chcieť zobraziť mená bez údajov. Môžete použiť Get-Item Rutina na vykonanie tohto kroku. Pozrite si príkaz nižšie…
|_+_|Príkaz vráti názvy kľúčov databázy Registry bez sprievodného stĺpca Údaje.
čo robiť, ak balíček amazoniek nikdy nepríde
Ako používať PowerShell na čítanie hodnoty databázy Registry a vrátenie binárnych údajov
V tomto príklade chcem zobraziť binárnu hodnotu v kľúči databázy Registry, CaptionFont . Tento kľúč sa nachádza v tejto ceste registra HKEY_CURRENT_USERControl PanelDesktopWindowMetrics.
Prvým krokom je vrátenie majetku CaptionFont kľúč. Avšak predtým, ako to urobím, poďme uviesť všetky vlastnosti HKEY_CURRENT_USERControl PanelDesktopWindowMetrics .
|_+_|Príkaz vráti množinu vlastností, vrátane CaptionFont .
Ak chcete vrátiť iba vlastnosti, presuňte vyššie uvedený príkaz do Select-Object…
|_+_|Tento príkaz zobrazí všetky vlastnosti v zozname.
Ak chcete zobraziť CaptionFont (štvrtú hodnotu v poli), aktualizujte príkaz podľa obrázka nižšie a uložte ho do premennej…
|_+_|Potom, ak chcete zobraziť typ hodnoty databázy Registry (v tomto prípade REG_BINARY), zavolajte na GetValueKind Metóda v pôvodnom príkaze uloženom v $kľúč premenlivý. Potom použite CaptionFont (uložené v $nam e) ako hodnota v Metóde.
Tu je príkaz…
|_+_|Výsledok je podľa očakávania binárny.
Ďalej čítame hodnoty v type binárneho registra pomocou príkazu PowerShell nižšie…
|_+_|Ako môžete vidieť z príkazu, hodnota sa zopakuje volaním GetValue Metóda v pôvodnom kľúči uloženom v $kľúč premenlivý. Potom pomocou názvu nehnuteľnosti CaptionFont v Metóde.
Výsledkom je kopa čísel. Ak chcete vidieť túto hodnotu v registri, pozrite si snímku obrazovky nižšie.
Nakoniec, aby som uľahčil zoznam hodnôt registra, vytvoril som funkciu PowerShell s názvom Get-RegistryData. Pre stiahnutie funkcie kliknite na download Get-RegistryData.zip
Po stiahnutí súbor rozbaľte. Potom spustite príkazy nižšie:
|_+_| Nahraďte C:UsersVictorADownloadsGet-RegistryDataGet-RegistryData cestou k funkcii vo vašom počítači.Ak chcete získať hodnoty alebo údaje v kľúčoch na ceste registra, spustite príkaz nižšie.
|_+_|Príkaz zobrazí názvy kľúčov, cestu k registrom a typ kľúča. Stĺpec Typ je skrytý na mojej snímke obrazovky nižšie.
Prípadne, ak nechcete zobrazovať určité hlavičky, môžete presmerovať Get-RegistryData na Select-Object.
|_+_|Pomocou vyššie uvedeného príkazu Get-RegistryData zobrazí názov , Typ a Údaje každého kľúča v zadanej ceste registra...
Funkcia Get-RegistryData má jeden parameter s názvom RegistryPath Ako používať PowerShell na čítanie hodnoty databázy Registry a vrátenie poľa
Ak chcete prečítať kľúč databázy Registry pomocou prostredia PowerShell a vrátiť hodnotu v poli, použite príkaz Get-ChildItem príkaz.
Tento kľúč databázy Registry, HKEY_CURRENT_USERControl PanelDesktop má 3 podkľúče. Nasledujúci príkaz vráti všetky podkľúče, ich vlastnosti a hodnoty:
|_+_|Tieto hodnoty sú vrátené v poli. Pre potvrdenie spustite príkaz nižšie...
|_+_|Tento príkaz potvrdzuje, že typ údajov v poslednom príkaze uloženom v premennej $subkeys je pole.
Pre Get-ChildItem Ak chcete vrátiť výsledky v poli, kľúč databázy Registry musí mať podkľúče.Ako používať PowerShell na získanie hodnoty databázy Registry, ak existuje
Príklad v tejto podsekcii je podobný ako všetky ostatné príklady v tejto príručke s menšou výnimkou. Miernou úpravou je použiť Test-Path na kontrolu, či cesta existuje.
Potom, ak cesta existuje, získajte jej hodnoty pomocou PowerShell. Tento jednoduchý skript skontroluje, či existuje cesta k registru HKEY_CURRENT_USERControl PanelDesktop.
Potom, ak existuje, načíta svoje hodnoty pomocou príkazu Get-ItemProperty.
|_+_|Kľúč databázy Registry Registry::HKEY_CURRENT_USERControl PanelDesktop existuje. Takže posledný príkaz vrátil svoje hodnoty.
Pozrime sa, či zadáme kľúč databázy Registry, ktorý neexistuje…
|_+_|Tentoraz skript vykoná skript v Inak blok z AK vyhlásenie.
Ako používať PowerShell na získanie a porovnanie hodnôt databázy Registry
Ako ste si možno domysleli, Get-Item a Get-ItemProperty príkazy nezobrazujú typy kľúčov a údaje databázy Registry. Ak teda chcete porovnať údaje v kľúči, musíte nájsť iný spôsob, ako to urobiť.
V podsekcii Ako používať PowerShell na čítanie hodnoty databázy Registry a vrátenie binárnych údajov som spomenul, že som vytvoril funkciu s názvom Get-RegistryData.
Ak chcete spustiť príkazy v tejto podsekcii, musíte si stiahnuť funkciu Get-RegistryData.zip. Pozrite si podsekciu Ako používať PowerShell na čítanie hodnoty databázy Registry a vrátenie binárnych údajov.Túto funkciu môžete použiť na vrátenie názvov, typov a údajov podkľúčov v zadanej ceste registra.
Ak chcete napríklad vrátiť názvy, typy a údaje všetkých položiek v kľúči HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorer, spustite príkaz nižšie…
|_+_|Ak to vezmeme ďalej, povedzme, že chcem porovnať hodnotu Ikona Podčiarknuť kľúč s inou hodnotou, budem postupovať tak, ako je uvedené nižšie.
- Potrubie výstup z Get-RegistryData príkaz do a Kde-Objekt príkaz a filtrovať podľa Názov sa rovná Ikona Podčiarknuť .
Posledný príkaz ukazuje, že aktuálna hodnota v IconUnderline je 3.
- Ak chcem túto hodnotu porovnať s inou hodnotou, povedzme 2, použijem nižšie uvedené príkazy. Prvý príkaz uloží príkaz z kroku 1 vyššie do premennej.
The AK porovná aktuálnu hodnotu v kľúči databázy Registry s 1. Potom, ak sa nerovná 1, použije Set-ItemProperty príkaz na aktualizáciu hodnoty na hodnotu, ktorú zadáte v súbore Hodnota parameter.
Ako používať PowerShell na získanie kľúča databázy Registry a podkľúčov
Existujú dva príkazy, ktoré môžete použiť na získanie kľúčov a podkľúčov databázy Registry. Môžete použiť Get-ItemProperty alebo Get-ChildItem príkaz.
Rozdiel medzi týmito dvoma príkazmi je v tom, ako zadáte cestu k registrom.
Ak chcete použiť Get-ItemProperty Ak chcete získať kľúč a podkľúče databázy Registry, pridajte na koniec cesty databázy Registry opačnú lomku. Potom pridajte zástupný znak hviezdičky za opačnú lomku.
Napríklad pre Get-ItemProperty na čítanie kľúčov a podkľúčov v HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorer spustite príkaz nižšie:
|_+_|Na druhej strane, použitie Get-ChildItem nevyžaduje pridanie žiadnej spätnej lomky a zástupného znaku. Tu je príklad s príkazom Get-ChildItem:
|_+_|Oba príkazy vrátia kľúče a podkľúče v zadanej ceste registra.
Ako používať PowerShell na získanie LastWriteTime kľúča databázy Registry
Počas skúmania tohto článku som zistil, že veľa používateľov hľadá, ako použiť PowerShell na získanie poslednej aktualizácie kľúča databázy Registry.
Počas môjho výskumu som však tiež zistil, že neexistujú žiadne rutiny cmdlet pre túto úlohu. Okrem toho sa zdá, že jediným riešením je vytvoriť vlastnú funkciu PowerShell.
Našťastie som našiel funkciu v superuser.com . Takže som nemusel vytvárať svoje!
Aby som to čitateľom S Zone uľahčil, stiahol som si Pridať-RegKeyLastWriteTime superuser.com funkciu.
Add-RegKeyLastWriteTime je láskavý od Cpt.Whale – prispievateľa komunity superuser.comPre stiahnutie funkcie zo S Zone kliknite na download Add-RegKeyLastWriteTime.zip . Potom rozbaľte stiahnutý súbor zip.
Nakoniec otvorte PowerShell a spustite príkazy nižšie:
|_+_| Nahraďte C:UsersVictorADownloadsAdd-RegKeyLastWriteTimeAdd-RegKeyLastWriteTime cestou k funkcii vo vašom počítači.Nakoniec, ak chcete získať posledný čas zápisu kľúča databázy Registry, spustite príkaz nižšie:
|_+_| HKCU je skrátený formát pre HKEY_CURRENT_CONFIG. Podrobne som o tom diskutoval v časti Ako formátovať cesty registra pre PowerShell tejto príručky.Príkaz vráti čas posledného zápisu pre všetky podkľúče v kľúči databázy Registry HKEY_CURRENT_USER…
Ako používať PowerShell na získanie veľkosti registra
Ak chcete vidieť veľkosť registra v systéme Windows 10, spustite príkaz nižšie:
|_+_|Príkaz vráti aktuálnu a maximálnu veľkosť databázy registra.
Pomocou vylepšenej verzie príkazu však môžete zobraziť ďalšie výsledky. Našiel som kód, ktorý to dokáže superuser.com .
Kód od Markusa (prispievateľ komunity superuser.com) zobrazuje ďalšie informácie. Tu je kód.
|_+_|A výsledok v PowerShell ISE…
Dúfam, že som vás úspešne naučil, ako používať PowerShell na čítanie hodnoty registra!
kodi pre smart tv
Tiež dúfam, že vám pomohla zóna S. Ak vám to pomohlo, zahlasujte Áno na otázku Bol tento príspevok užitočná nižšie.
Prípadne môžete položiť otázku, zanechať komentár alebo poskytnúť spätnú väzbu pomocou formulára Zanechať odpoveď, ktorý nájdete na konci tejto stránky.
Nakoniec, ak chcete získať ďalšie zóny PowerShell S, navštívte našu stránku s návodmi na prostredie Windows PowerShell. Veľmi užitočná vám môže byť aj naša stránka Práca z domovskej stránky.
Referencie a ďalšie čítanie
- Práca s položkami databázy Registry
- Stiahnite si Get-RegistryData.zip
- Stiahnite si Add-RegKeyLastWriteTime.zip
- Windows PowerShell ISE vysvetlené


