Kaip naudoti „PowerShell“ registro vertei nuskaityti

2021 m. birželio 24 d 14116 Peržiūros Kaip naudoti „PowerShell“ registro vertei nuskaityti

Šioje S zonoje Viktoras moko, kaip naudoti „PowerShell“ registro vertei nuskaityti.





Vadovas prasideda mokant, kaip formatuoti registro kelią, kad jį būtų galima naudoti su PowerShell. Taip pat sužinosite geriausią būdą nukopijuoti registro raktą, skirtą naudoti „PowerShell“.



Galiausiai, vadove pateikiama 10 pavyzdžių su įvairiais būdais, kaip naudoti „PowerShell“ registro reikšmėms skaityti.

Vadove yra įvairių temų ir pavyzdžių. Jei norite perskaityti konkrečią temą ar pavyzdį, toliau išskleiskite Naršyti pranešimų temas ir spustelėkite temą.



Naršykite pranešimų temas



Kaip suformatuoti „PowerShell“ registro kelius

Kaip naudoti „PowerShell“ registro vertei nuskaityti – kaip formatuoti „PowerShell“ registro kelius

Prieš mokydamas jus naudoti „PowerShell“ registro vertei nuskaityti, noriu išmokyti jus suformatuoti registro kelius, kad galėtumėte dirbti su „PowerShell“.

„Windows“ registre yra 5 aukščiausio lygio raktai (šakniniai raktai):



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

Norėdami nuskaityti registro reikšmę, kaip kelią nurodykite raktą Get-ItemProperty arba Gauti prekę cmdlet. Yra 2 būdai formatuoti registro kelią:



Formatuokite su visu registro rakto keliu

Įeikite Registras:: seka visas kelias į registrą. Pavyzdžiui, nurodyti HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion , naudosiu Registras::HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion

Formatuokite su sutrumpintu registro rakto keliu

Taip pat galite įvesti aukščiausio lygio registro rakto (šakninio rakto) santrumpą, po kurios – dvitaškį (:), tada visą registro rakto kelią (be šakninio pavadinimo).

Primename, kad čia yra šakninių raktų santrumpos:

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

obs pradėti išvestį nepavyko, prašome patikrinti žurnalą

Todėl norėdami nurodyti registro kelią, HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion naudojant šį antrąjį metodą, bus parašyta - HKLM:SOFTWAREMicrosoftWindowsCurrentVersion

Atminkite, kad net pašalinus šaknies pavadinimą, pirmasis pasvirasis brūkšnys () buvo išsaugotas.

Kaip nukopijuoti registro rakto pavadinimą

Dar vienas dalykas prieš pereinant toliau – geriau nukopijuoti kelią į registro raktą, kurį norite perskaityti naudodami „PowerShell“, o ne įvesti jį rankiniu būdu.

Norėdami nukopijuoti registro raktą, dešiniuoju pelės mygtuku spustelėkite raktą ir pasirinkite Nukopijuokite rakto pavadinimą . Štai pavyzdys.

Kaip naudoti „PowerShell“ registro vertei nuskaityti – kaip formatuoti „PowerShell“ registro kelius

Norėdami skaityti registro reikšmę, naudokite „PowerShell“: pavyzdžiai

Naudokite „PowerShell“, kad skaitytumėte registro reikšmę: pavyzdžiai

Dabar, kai žinote, kaip formatuoti registro kelią, skirtą naudoti su PowerShell, šiame skyriuje pateikiama 10 pavyzdžių, kaip naudoti PowerShell registro vertei nuskaityti:

Kaip grąžinti visas registro rakto reikšmes

Norėdami grąžinti visas registro rakto reikšmes, įveskite žemiau esančią komandą ir paspauskite enter.

|_+_| Pakeiskite kelią į registro rakto, kurio reikšmes norite perskaityti, kelią. Prisiminkite registro formatavimą iš paskutinio skyriaus.

Komanda grąžins visas nurodytame kelyje esančias reikšmes. Antroji žemiau esanti ekrano kopija yra tikrasis registro įrašas.

Jei palyginsite „PowerShell“ rezultatą ir registro reikšmes (antroji sritis), jie yra visiškai vienodi.

Kaip grąžinti konkrečią reikšmę registro rakte ir išsaugoti ją kintamajame

Po paskutinio skyriaus komanda toje dalyje grąžino visas nurodyto registro kelio reikšmes. Tačiau taip pat galite naudoti „PowerShell“, kad nuskaitytumėte registro vertę, bet pateiktumėte konkrečią reikšmę.

Yra keli būdai tai padaryti.

Paskutinė komanda ( Get-ItemProperty komanda) grąžino reikšmes, parodytas toliau esančioje ekrano kopijoje.

Šis vaizdas turi tuščią alt atributą; jo failo pavadinimas yra image-74-1024x591.png

Norėdami grąžinti vertę CommonFilesDir , naudokite vieną iš toliau pateiktų komandų:

|_+_| |_+_|

Dvi komandos grąžina registro duomenis, be nuosavybės pavadinimas, CommonFilesDir . Žiūrėkite žemiau esančią ekrano kopiją:

Galiausiai, šiame poskyryje galite naudoti „PowerShell“, kad nuskaitytumėte registro vertę ir išsaugotumėte reikšmę kintamajame. Pavyzdžiui, registro duomenis galime įrašyti paskutinėje komandoje kintamajame $RegData .

Čia yra pakeista komanda:

|_+_|

Dabar, kai paleisite komandą, ji nepateiks jokio rezultato konsolėje, nes rezultatas išsaugomas kintamajame…

Kaip grąžinti konkrečią reikšmę registro rakte ir išsaugoti ją kintamajame

Tačiau norėdami parodyti kintamajame išsaugotą rezultatą, paleiskite kintamąjį…

|_+_|

Štai „PowerShell“ rezultatas…

Kaip grąžinti registro dalinio rakto pavadinimą

Paskutinė komanda paskutiniame paskutiniame poskyryje grąžino ir registro raktų pavadinimus, ir jų duomenis.

Tačiau kartais galbūt norėsite rodyti vardus be duomenų. Galite naudoti Gauti prekę Cmdlet, kad tai padarytumėte. Žiūrėkite žemiau esančią komandą…

|_+_|

Komanda grąžins registro raktų pavadinimus be pridedamo duomenų stulpelio.

Kaip naudoti „PowerShell“ registro vertei skaityti ir dvejetainiams duomenims grąžinti

Šiame pavyzdyje noriu, kad registro rakte būtų rodoma dvejetainė reikšmė, Antraštės šriftas . Šis raktas yra šiame registro kelyje HKEY_CURRENT_USERControl PanelDesktopWindowMetrics.

Kaip naudoti „PowerShell“ registro vertei skaityti ir dvejetainiams duomenims grąžinti

Pirmas žingsnis yra grąžinti turtą Antraštės šriftas Raktas. Tačiau prieš tai darant, išvardijame visas savybes HKEY_CURRENT_USERControl PanelDesktopWindowMetrics .

|_+_|

Komanda grąžina savybių rinkinį, įskaitant Antraštės šriftas .

Norėdami grąžinti tik ypatybes, nurodykite aukščiau pateiktą komandą į Select-Object…

|_+_|

Ši komanda rodo visas sąraše esančias ypatybes.

Kaip naudoti „PowerShell“ registro vertei skaityti ir dvejetainiams duomenims grąžinti

Norėdami parodyti CaptionFont (4-oji masyvo reikšmė), atnaujinkite komandą, kaip parodyta toliau, ir išsaugokite ją kintamajame...

|_+_|

Tada norėdami parodyti registro vertės tipą (šiuo atveju REG_BINARY), skambinkite GetValueKind Metodas pradinėje komandoje, išsaugotoje $raktas kintamasis. Tada naudokite Antraštės šriftas (išsaugotas $nam e) kaip Metodo vertė.

Štai komanda…

|_+_|

Rezultatas, kaip ir tikėtasi, yra dvejetainis.

Toliau skaitome dvejetainio registro tipo reikšmes naudodami toliau pateiktą „PowerShell“ komandą ...

|_+_|

Kaip matote iš komandos, reikšmė bandoma iš naujo skambinant GetValue Metodas pradiniame rakte, išsaugotame $raktas kintamasis. Tada, naudojant nuosavybės pavadinimą, Antraštės šriftas Metodas.

Rezultatas yra daugybė skaičių. Norėdami pamatyti šią reikšmę registre, žr. toliau pateiktą ekrano kopiją.

Kaip naudoti „PowerShell“ registro vertei skaityti ir dvejetainiams duomenims grąžinti

Galiausiai, kad būtų lengviau išvardyti registro reikšmes, sukūriau PowerShell funkciją, pavadintą Get-RegistryData. Norėdami atsisiųsti funkciją, spustelėkite Atsisiųsti Get-RegistryData.zip

Atsisiuntę išpakuokite failą. Tada paleiskite toliau pateiktas komandas:

|_+_| C:UsersVictorADownloadsGet-RegistryDataGet-RegistryData pakeiskite keliu į funkciją kompiuteryje.

Norėdami gauti registro kelio raktų reikšmes arba duomenis, paleiskite toliau pateiktą komandą.

|_+_|

Komanda rodo raktų pavadinimus, registro kelią ir rakto tipą. Stulpelis Tipas yra paslėptas mano ekrano kopijoje žemiau.

Arba, jei nenorite rodyti tam tikrų antraščių, galite pasirinkti Get-RegistryData į Select-Object.

|_+_|

Su aukščiau pateikta komanda Get-RegistryData rodo vardas , Tipas , ir Duomenys kiekvieno rakto nurodytame registro kelyje...

Funkcija Get-RegistryData turi vieną parametrą, vadinamą RegistryPath

Kaip naudoti „PowerShell“ norint nuskaityti registro vertę ir grąžinti masyvą

Norėdami perskaityti registro raktą naudodami „PowerShell“ ir grąžinti reikšmę masyve, naudokite Get-ChildItem komandą.

Šis registro raktas, HKEY_CURRENT_USERControl PanelDesktop turi 3 dalinius raktus. Toliau pateikta komanda grąžina visus antrinius raktus, jų savybes ir reikšmes:

mirksintis twrp su odinu
|_+_|

Šios reikšmės grąžinamos masyve. Norėdami patvirtinti, paleiskite žemiau esančią komandą…

|_+_|

Ši komanda patvirtina, kad paskutinės komandos duomenų tipas, įrašytas kintamajame $subkeys, yra masyvas.

Kaip naudoti „PowerShell“ norint nuskaityti registro vertę ir grąžinti masyvąGet-ChildItem Norėdami pateikti rezultatus masyve, registro raktas turi turėti dalinius raktus.

Kaip naudoti „PowerShell“, kad gautumėte registro vertę, jei ji yra

Šio poskyrio pavyzdys yra panašus į visus kitus šio vadovo pavyzdžius su nedidele išimtimi. Nedidelis pakeitimas čia yra naudoti Test-Path, kad patikrintumėte, ar kelias yra.

Tada, jei kelias yra, gaukite jo reikšmes naudodami „PowerShell“. Šis paprastas scenarijus patikrins, ar yra registro kelias HKEY_CURRENT_USERControl PanelDesktop.

Tada, jei jis egzistuoja, jis nuskaitys jo reikšmes su komanda Get-ItemProperty.

|_+_|

Registro raktas Registry::HKEY_CURRENT_USERControl PanelDesktop egzistuoja. Taigi, paskutinė komanda grąžino savo reikšmes.

Pažiūrėkime, ar nurodome registro raktą, kurio nėra…

|_+_|

Šį kartą scenarijus vykdo scenarijų Kitas blokas JEI pareiškimas.

Kaip naudoti „PowerShell“, kad gautumėte registro vertę, jei ji yra

Kaip naudoti „PowerShell“ norint gauti ir palyginti registro vertes

Kaip jau supratote, Gauti prekę ir Get-ItemProperty komandos nerodo registro raktų tipų ir duomenų. Taigi, jei norite palyginti rakto duomenis, turite rasti kitą būdą tai padaryti.

Poskyryje „Kaip naudoti „PowerShell“ norint nuskaityti registro vertę ir grąžinti dvejetainius duomenis minėjau, kad sukūriau funkciją „Get-RegistryData“.

Norėdami paleisti šiame poskyryje pateiktas komandas, turite atsisiųsti funkciją Get-RegistryData.zip. Žr. poskyrį Kaip naudoti „PowerShell“ registro vertei nuskaityti ir dvejetainiams duomenims grąžinti.

Galite naudoti šią funkciją, norėdami grąžinti antrinių raktų pavadinimus, tipus ir duomenis nurodytame registro kelyje.

Pavyzdžiui, norėdami grąžinti visų HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorer įrašų pavadinimus, tipus ir duomenis, paleiskite toliau pateiktą komandą...

|_+_|

Jei pažvelgsime toliau, pasakykite, kad noriu palyginti vertę Piktograma Pabraukimas raktą su kita reikšme, veiksiu taip, kaip nurodyta toliau.

  1. Vamzdis išvesties Get-RegistryData komandą į a Kur-Objektas komandą ir filtruokite pagal pavadinimą lygus Piktograma Pabraukimas .
|_+_|

Paskutinė komanda rodo, kad dabartinė reikšmė IconUnderline yra 3.

  1. Jei noriu palyginti šią reikšmę su kita reikšme, tarkime, 2, naudosiu toliau pateiktas komandas. Pirmoji komanda išsaugo 1 veiksmo komandą į kintamąjį.
|_+_|

The JEI sakinys lygina dabartinę registro rakto reikšmę su 1. Tada, jei ji nėra lygi 1, ji naudoja Set-ItemProperty komandą, kad atnaujintumėte reikšmę į tai, ką nurodėte Vertė parametras.

Kaip naudoti „PowerShell“, kad gautumėte registro raktą ir dalinius raktus

Yra dvi komandos, kurias galite naudoti norėdami gauti registro raktus ir dalinius raktus. Galite naudoti Get-ItemProperty arba Get-ChildItem komandą.

Skirtumas tarp dviejų komandų yra tai, kaip nurodote registro kelią.

Norėdami naudoti Get-ItemProperty Norėdami gauti registro raktą ir dalinius raktus, registro kelio pabaigoje pridėkite pasvirąjį brūkšnį. Tada už pasvirojo brūkšnio pridėkite pakaitos ženklą žvaigždute.

Pavyzdžiui, norėdami nuskaityti HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorer raktus ir dalinius raktus, paleiskite toliau pateiktą komandą.

|_+_|

Kita vertus, naudojant Get-ChildItem nereikia pridėti pasvirojo brūkšnio ir pakaitos simbolio. Štai pavyzdys su komanda Get-ChildItem:

|_+_|

Abi komandos grąžina raktus ir dalinius raktus nurodytame registro kelyje.

Kaip naudoti „PowerShell“, kad gautumėte registro rakto „LastWriteTime“.

Tyrinėdamas šį straipsnį sužinojau, kad daugelis vartotojų ieško, kaip naudoti „PowerShell“, kad paskutinį kartą būtų atnaujintas registro raktas.

Tačiau tyrinėdamas taip pat išsiaiškinau, kad šiai užduočiai nėra jokių Cmdlet. Be to, atrodo, kad vienintelis sprendimas yra sukurti pasirinktinę „PowerShell“ funkciją.

Laimei, radau funkciją superuser.com . Taigi, man nereikėjo kurti savo!

Kad būtų lengviau S zonos skaitytojams, atsisiunčiau Add-RegKeyLastWriteTime superuser.com funkcija.

„Add-RegKeyLastWriteTime“ suteikė Cpt.Whale – superuser.com bendruomenės bendradarbis

Norėdami atsisiųsti funkciją iš S zonos, spustelėkite atsisiųsti Add-RegKeyLastWriteTime.zip . Tada išpakuokite atsisiųstą ZIP failą.

Galiausiai atidarykite „PowerShell“ ir paleiskite toliau pateiktas komandas:

|_+_| Pakeiskite C:UsersVictorADownloadsAdd-RegKeyLastWriteTimeAdd-RegKeyLastWriteTime funkcijos keliu kompiuteryje.

Galiausiai, norėdami gauti paskutinį registro rakto rašymo laiką, paleiskite toliau pateiktą komandą:

|_+_| HKCU yra sutrumpintas HKEY_CURRENT_CONFIG formatas. Aš tai plačiai aptariau šio vadovo skyriuje Kaip formatuoti „PowerShell“ registro kelius.

Komanda grąžina paskutinį visų dalinių raktų HKEY_CURRENT_USER baziniame registro rakte rašymo laiką...

Kaip naudoti „PowerShell“ norint gauti registro raktą

Kaip naudoti „PowerShell“ norint gauti registro dydį

Jei norite pamatyti registro dydį sistemoje „Windows 10“, paleiskite toliau pateiktą komandą:

|_+_|

Komanda grąžina esamą ir maksimalų registro duomenų bazės dydį.

Tačiau galite rodyti papildomus rezultatus naudodami patobulintą komandos versiją. Radau kodą, kuris gali tai padaryti superuser.com .

Markuso (superuser.com bendruomenės bendradarbio) kodas rodo papildomą informaciją. Čia yra kodas.

|_+_|

Ir rezultatas PowerShell ISE…

Jei tikiuosi, man pavyko sėkmingai išmokyti jus naudoti „PowerShell“ registro vertei nuskaityti!

Taip pat tikiuosi, kad S zona jums buvo naudinga. Jei jums tai buvo naudinga, balsuokite Taip į Ar šis įrašas buvo naudingas klausimas.

Arba galite užduoti klausimą, palikti komentarą arba pateikti atsiliepimą naudodami formą Palikite atsakymą, esančią šio puslapio pabaigoje.

Galiausiai, norėdami sužinoti daugiau „PowerShell S“ zonų, apsilankykite „Windows PowerShell“ instrukcijų puslapyje. Taip pat jums gali būti labai naudingas mūsų darbas iš pagrindinio puslapio.

Literatūra ir tolesnis skaitymas

  1. Darbas su registro įrašais
  2. Atsisiųskite Get-RegistryData.zip
  3. Atsisiųskite Add-RegKeyLastWriteTime.zip
  4. Paaiškinta Windows PowerShell ISE