Kako uporabljati PowerShell za branje vrednosti registra

24. junija 2021 14116 Pogledi Kako uporabljati PowerShell za branje vrednosti registra

V tem območju S vas Victor nauči, kako uporabljati PowerShell za branje vrednosti registra.





Vodnik se začne tako, da vas uči, kako oblikovati pot registra za uporabo s PowerShell. Izvedeli boste tudi najboljši način za kopiranje registrskega ključa za uporabo v PowerShell.



Nazadnje vodnik ponuja 10 primerov z različnimi načini uporabe PowerShell za branje vrednosti registra.

Vodnik ima različne teme in primere. Če želite prebrati določeno temo ali primer, spodaj razširite Prebrskaj teme objav in kliknite temo.



Brskajte po temah objav



Kako formatirati registrske poti za PowerShell

Kako uporabljati PowerShell za branje vrednosti registra - kako formatirati registrske poti za PowerShell

Preden vas naučim, kako uporabljati PowerShell za branje vrednosti registra, vas želim naučiti, kako oblikovati registrske poti za delo s PowerShell.

Register Windows ima 5 najvišjih ključev (korenskih ključev):



  1. HKEY_LOCAL_MACHINE
  2. HKEY_CURRENT_CONFIG
  3. HKEY_CLASSES_ROOT
  4. HKEY_USERS
  5. HKEY_CURRENT_USER

Če želite prebrati vrednost registra, podajte ključ kot pot v datoteki Get-ItemProperty oz Get-Item Ukaznice. Obstajata dva načina za formatiranje registrske poti:



Format s celotno potjo registrskega ključa

Vnesite Register:: sledi celotna pot do registra. Na primer za določitev HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion , bom uporabil Register::HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion

internet ne deluje na androidu

Oblika s skrajšano potjo registrskega ključa

Vnesete lahko tudi okrajšavo registrskega ključa najvišje ravni (korenski ključ), ki ji sledi dvopičje (:), nato pa celotno pot do registrskega ključa (brez korenskega imena).

Kot opomnik, tukaj so okrajšave za korenske ključe:

HKEY_LOCAL_MACHINE – HKLM
HKEY_CURRENT_CONFIG – HKCC
HKEY_CLASSES_ROOT – HKCR
HKEY_USERS – HKU
HKEY_CURRENT_USER – HKCU

Če torej želite določiti pot registra, HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion s to drugo metodo bo zapisano – HKLM:SOFTWAREMicrosoftWindowsCurrentVersion

Upoštevajte, da je bila prva poševnica () ohranjena, čeprav je korensko ime odstranjeno.

Kako kopirati ime registrskega ključa

Še ena stvar, preden nadaljujem – bolje je, da kopirate pot do registrskega ključa, ki ga želite prebrati s PowerShell – namesto da ga vnašate ročno.

Če želite kopirati registrski ključ, z desno tipko miške kliknite ključ in izberite Kopiraj ime ključa . Tukaj je primer.

Kako uporabljati PowerShell za branje vrednosti registra - kako formatirati registrske poti za PowerShell

Uporabite PowerShell za branje vrednosti registra: primeri

Uporabite PowerShell za branje vrednosti registra: primeri

Zdaj, ko veste, kako oblikovati registrsko pot za uporabo s PowerShell, ta razdelek vsebuje 10 primerov uporabe PowerShell za branje vrednosti registra:

Kako vrniti vse vrednosti v registrskem ključu

Če želite vrniti vse vrednosti registrskega ključa, vnesite spodnji ukaz in pritisnite enter.

|_+_| Spremenite pot do poti za registrski ključ, za katerega želite prebrati njegove vrednosti. Zapomnite si oblikovanje registra iz zadnjega razdelka.

Ukaz bo vrnil vse vrednosti na navedeni poti. Drugi spodnji posnetek zaslona je dejanski vnos v register.

Če primerjate rezultat PowerShell in vrednosti registra (drugo podokno), so popolnoma enake.

Kako vrniti določeno vrednost v registrskem ključu in jo shraniti v spremenljivko

Po zadnjem razdelku je ukaz v tem razdelku vrnil vse vrednosti v podani poti registra. Vendar pa lahko uporabite PowerShell tudi za branje vrednosti registra, vendar vrnete določeno vrednost.

Obstaja več načinov za to.

Zadnji ukaz ( Get-ItemProperty ukaz) vrnil vrednosti, prikazane na spodnjem posnetku zaslona.

Ta slika ima prazen atribut; njeno ime datoteke je image-74-1024x591.png

Za vrnitev vrednosti CommonFilesDir , uporabite enega od spodnjih ukazov:

najboljši mmorpg za mac 2015
|_+_| |_+_|

Oba ukaza vrneta podatke registra, brez ime lastnosti, CommonFilesDir . Oglejte si spodnji posnetek zaslona:

Končno, za ta pododdelek lahko uporabite PowerShell za branje vrednosti registra in shranite vrednost v spremenljivko. Podatke registra v zadnjem ukazu lahko na primer shranimo v spremenljivko z imenom $RegData .

Tukaj je spremenjen ukaz:

|_+_|

Zdaj, ko zaženete ukaz, ne bo vrnil nobenega rezultata na konzoli, ker je rezultat shranjen v spremenljivki ...

Kako vrniti določeno vrednost v registrskem ključu in jo shraniti v spremenljivko

Če pa želite prikazati rezultat, shranjen v spremenljivki, zaženite spremenljivko ...

|_+_|

Tukaj je rezultat v PowerShell ...

Kako vrniti ime podključa registra

Zadnji ukaz v zadnjem zadnjem pododdelku je vrnil tako imena registrskih ključev kot njihove podatke.

Vendar pa boste včasih morda želeli prikazati imena brez podatkov. Lahko uporabite Get-Item Cmdlet za to. Oglejte si spodnji ukaz …

|_+_|

Ukaz bo vrnil Imena registrskih ključev brez spremljajočega stolpca Podatki.

Kako uporabljati PowerShell za branje vrednosti registra in vračanje binarnih podatkov

V tem primeru želim prikazati binarno vrednost v registrskem ključu, CaptionFont . Ta ključ se nahaja na tej poti registra HKEY_CURRENT_USERControl PanelDesktopWindowMetrics.

Kako uporabljati PowerShell za branje vrednosti registra in vračanje binarnih podatkov

Prvi korak je vrnitev lastnine CaptionFont ključ. Vendar, preden to storim, naj naštejem vse lastnosti HKEY_CURRENT_USERNadzorna ploščaNamizjeWindowMetrics .

|_+_|

Ukaz vrne niz lastnosti, vključno z CaptionFont .

Če želite vrniti samo lastnosti, prenesite zgornji ukaz v Select-Object ...

|_+_|

Ta ukaz prikaže vse lastnosti na seznamu.

Kako uporabljati PowerShell za branje vrednosti registra in vračanje binarnih podatkov

Če želite prikazati CaptionFont (4. vrednost v matriki), posodobite ukaz, kot je prikazano spodaj, in ga shranite v spremenljivko ...

|_+_|

Nato za prikaz vrste vrednosti registra (v tem primeru REG_BINARY) pokličite GetValueKind Metoda v izvirnem ukazu, shranjena v $ ključ spremenljivka. Nato uporabite CaptionFont (shranjeno v $nam e) kot vrednost v Metodi.

Tukaj je ukaz …

|_+_|

Rezultat je po pričakovanjih Binary.

Nato preberemo vrednosti v tipu Binarnega registra s spodnjim ukazom PowerShell ...

|_+_|

Kot lahko vidite iz ukaza, se vrednost znova poskusi s klicem GetValue Metoda v izvirnem ključu, shranjenem v $ ključ spremenljivka. Nato z uporabo imena lastnosti, CaptionFont v Metodi.

Rezultat je kup številk. Če si želite ogledati to vrednost v registru, si oglejte spodnji posnetek zaslona.

Kako uporabljati PowerShell za branje vrednosti registra in vračanje binarnih podatkov

Nazadnje, da bi olajšal seznam vrednosti registra, sem ustvaril funkcijo PowerShell z imenom Get-RegistryData. Če želite prenesti funkcijo, kliknite Prenesi Get-RegistryData.zip

Ko je prenesena, razpakirajte datoteko. Nato zaženite spodnje ukaze:

|_+_| Zamenjajte C:UsersVictorADownloadsGet-RegistryDataGet-RegistryData s potjo do funkcije v vašem računalniku.

Če želite pridobiti vrednosti ali podatke v ključih na poti registra, zaženite spodnji ukaz.

|_+_|

Ukaz prikaže imena ključev, pot registra in vrsto ključa. Stolpec Vrsta je skrit na mojem spodnjem posnetku zaslona.

Če ne želite prikazati določenih glav, lahko napeljite Get-RegistryData v Select-Object.

rundll32.exe powrprof.dll, setuspendstate 0,1,0
|_+_|

Z zgornjim ukazom Get-RegistryData prikaže ime , Vrsta , in Podatki vsakega ključa v določeni registrski poti ...

Funkcija Get-RegistryData ima en sam parameter, ki se imenuje RegistryPath

Kako uporabljati PowerShell za branje vrednosti registra in vrnitev matrike

Če želite prebrati registrski ključ s PowerShell in vrniti vrednost v matriki, uporabite Get-ChildItem ukaz.

Ta registrski ključ, HKEY_CURRENT_USERNadzorna ploščaNamizje ima 3 podključe. Spodnji ukaz vrne vse podključe, njihove lastnosti in vrednosti:

|_+_|

Te vrednosti se vrnejo v matriki. Za potrditev zaženite spodnji ukaz ...

|_+_|

Ta ukaz potrjuje, da je vrsta podatkov v zadnjem ukazu, shranjenem v spremenljivki $subkeys, matrika.

Kako uporabljati PowerShell za branje vrednosti registra in vrnitev matrikeZa Get-ChildItem ukaz za vrnitev rezultatov v matriki, mora imeti registrski ključ podključe.

Kako uporabiti PowerShell za pridobitev vrednosti registra, če ta obstaja

Primer v tem pododdelku je podoben vsem drugim primerom v tem priročniku z manjšo izjemo. Majhna sprememba tukaj je uporaba Test-Path za preverjanje, ali pot obstaja.

Nato, če pot obstaja, pridobite njene vrednosti s PowerShell. Ta preprost skript bo preveril, ali obstaja pot registra HKEY_CURRENT_USERControl PanelDesktop.

Potem, če obstaja, bo prebral svoje vrednosti z ukazom Get-ItemProperty.

|_+_|

Registrski ključ, Registry::HKEY_CURRENT_USERControl PanelDesktop obstaja. Torej, zadnji ukaz je vrnil svoje vrednosti.

Poglejmo, ali določimo registrski ključ, ki ne obstaja ...

|_+_|

Tokrat skript izvede skript v Drugače blok od ČE izjava.

Kako uporabiti PowerShell za pridobitev vrednosti registra, če ta obstaja

Kako uporabljati PowerShell za pridobivanje in primerjavo vrednosti registra

Kot ste morda ugotovili, Get-Item in Get-ItemProperty ukazi ne prikažejo tipov in podatkov registrskih ključev. Če torej želite primerjati podatke v ključu, morate najti drug način za to.

V pododdelku Kako uporabljati PowerShell za branje vrednosti registra in vračanje binarnih podatkov sem omenil, da sem ustvaril funkcijo, imenovano Get-RegistryData.

Če želite zagnati ukaze v tem pododdelku, morate prenesti funkcijo Get-RegistryData.zip. Oglejte si pododdelek Kako uporabljati PowerShell za branje vrednosti registra in vračanje binarnih podatkov.

S to funkcijo lahko vrnete imena, vrste in podatke podključev na določeni poti registra.

Če želite na primer vrniti imena, vrste in podatke vseh vnosov v HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorer, zaženite spodnji ukaz ...

|_+_|

Če gremo dlje, recimo, da želim primerjati vrednost Ikona Podčrtaj ključ z drugo vrednostjo, bom nadaljeval, kot je opisano spodaj.

  1. Pipe izhod Get-RegistryData ukaz v a Kam-predmet ukaz in filtriranje po imenu enako Ikona Podčrtaj .
|_+_|

Zadnji ukaz kaže, da je trenutna vrednost v IconUnderline 3.

  1. Če želim to vrednost primerjati z drugo vrednostjo, recimo 2, bom uporabil spodnje ukaze. Prvi ukaz shrani ukaz v 1. koraku zgoraj v spremenljivko.
|_+_|

The ČE stavek primerja trenutno vrednost v registrskem ključu z 1. Nato, če ni enaka 1, uporabi Set-ItemProperty ukaz za posodobitev vrednosti na tisto, kar podate v vrednost parameter.

Kako uporabljati PowerShell za pridobitev registrskega ključa in podključev

Za pridobivanje registrskih ključev in podključev lahko uporabite dva ukaza. Lahko uporabite Get-ItemProperty ali Get-ChildItem ukaz.

avast zavzame preveč pomnilnika

Razlika med obema ukazoma je, kako določite pot registra.

Za uporabo Get-ItemProperty če želite dobiti registrski ključ in podključe, dodajte poševnico nazaj na koncu registrske poti. Nato za povratno poševnico dodajte nadomestni znak zvezdice.

Na primer v Get-ItemProperty za branje ključev in podključev v HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorer zaženite spodnji ukaz:

|_+_|

Po drugi strani pa uporaba Get-ChildItem ne zahteva dodajanja povratne poševnice in nadomestnega znaka. Tukaj je primer z ukazom Get-ChildItem:

|_+_|

Oba ukaza vrneta ključe in podključe na podani poti registra.

Kako uporabljati PowerShell za pridobitev LastWriteTime registrskega ključa

Medtem ko sem raziskoval ta članek, sem ugotovil, da veliko uporabnikov išče, kako uporabiti PowerShell, da bi dobili zadnjič posodobitev registrskega ključa.

Vendar sem med svojim raziskovanjem tudi ugotovil, da za to nalogo ne obstajajo Cmdleti. Poleg tega se zdi, da je edina rešitev ustvariti funkcijo PowerShell po meri.

Na srečo sem našel funkcijo v superuser.com . Torej mi ni bilo treba ustvariti svojega!

Da bi olajšal bralcem S Zone, sem prenesel datoteko Add-RegKeyLastWriteTime superuser.com funkcijo.

Add-RegKeyLastWriteTime je z dovoljenjem Cpt.Whale – sodelavca skupnosti superuser.com

Če želite prenesti funkcijo iz S Zone, kliknite Prenesi Add-RegKeyLastWriteTime.zip. Nato razpakirajte preneseno datoteko zip.

Na koncu odprite PowerShell in zaženite spodnje ukaze:

|_+_| Zamenjajte C:UsersVictorADownloadsAdd-RegKeyLastWriteTimeAdd-RegKeyLastWriteTime s potjo do funkcije v vašem računalniku.

Končno, da dobite čas zadnjega pisanja registrskega ključa, zaženite spodnji ukaz:

|_+_| HKCU je skrajšana oblika za HKEY_CURRENT_CONFIG. O tem sem obširno razpravljal v razdelku Kako formatirati registrske poti za PowerShell tega priročnika.

Ukaz vrne zadnji čas pisanja za vse podključe v osnovnem registrskem ključu HKEY_CURRENT_USER ...

Kako uporabljati PowerShell za pridobitev registrskega ključa

Kako uporabljati PowerShell za pridobitev velikosti registra

Če želite videti velikost registra v sistemu Windows 10, zaženite spodnji ukaz:

|_+_|

Ukaz vrne Trenutna in Največja velikost baze podatkov registra.

Vendar pa lahko prikažete dodatne rezultate z izboljšano različico ukaza. Našel sem kodo, ki lahko to naredi superuser.com .

Markusova koda (sodelavec skupnosti superuser.com) prikazuje dodatne informacije. Tukaj je koda.

|_+_|

In rezultat v PowerShell ISE ...

zakaj ne morem predlagati prijateljev na facebooku

Če upam, da sem vas lahko uspešno naučil, kako uporabljati PowerShell za branje vrednosti registra!

Upam tudi, da vam je S Zone v pomoč. Če se vam zdi v pomoč, vljudno glasujte da na spodnje vprašanje Ali je bila ta objava koristna.

Lahko pa postavite vprašanje, pustite komentar ali pošljete povratne informacije z obrazcem za pustite odgovor, ki ga najdete na koncu te strani.

Za več območij PowerShell S obiščite našo stran z navodili za Windows PowerShell. Morda vam bo v veliko pomoč tudi naša stran Delo z domače strani.

Reference in dodatno branje

  1. Delo z vnosi v registru
  2. Prenesite Get-RegistryData.zip
  3. Prenesite Add-RegKeyLastWriteTime.zip
  4. Razlaga Windows PowerShell ISE