How To

Slik henter du registerverdier ved hjelp av PowerShell

February 14, 2026 4 minutter å lese Oppdatert: February 14, 2026

Å håndtere registerverdier i Windows føles ofte som å prøve å dekode et fremmed språk. Noen registernøkler er skjult bak lag med kompleksitet, og det er ikke alltid nok å bare vite hva man skal kjøre i PowerShell – spesielt hvis du feilsøker eller automatiserer ting. Det er litt irriterende når kommandoene for å hente disse verdiene ikke fungerer helt slik du forventer, eller når de kaster feil du ikke forstår. Så denne veiledningen er stort sett en samling av måter jeg har funnet nyttige for å trekke ut registerinformasjon pålitelig, selv når ting virker rare. Etter å ha tuklet med disse metodene, kan du bekrefte, spørre eller bare kikke på registeroppføringer uten hodepine. Nøkkelen er å forstå når og hvorfor hver metode fungerer – for noen ganger er den enkleste kommandoen den som mislykkes, og du må bytte taktikk. Forvent å få klarere innsikt i registerstrukturen, noe som kan hjelpe hvis du prøver å deaktivere oppstartselementer, sjekke installasjonsstatuser eller bare feilsøke litt merkelig Windows-oppførsel.

Slik får du registernøkkelverdier i PowerShell uten å miste sinnet

Teststi – Er den registerstien i det hele tatt der?

Denne delen er litt grunnleggende, men supernyttig. Windows PowerShells Test-Pathkommandolett er som en første sjekk for å se om en registernøkkel eller verdi finnes før man prøver å gjøre noe komplisert. Den er flott for skripting, spesielt i feilhåndtering. I utgangspunktet kjører du en kommando som Test-Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Run, og hvis nøkkelen er der, får du $true. Hvis den mangler, får du $false. Noen ganger har banen mellomrom eller rare tegn, så hold banen i doble anførselstegn: Test-Path "HKLM:\Some\Really Weird Path". Jeg har sett tilfeller der en bane teknisk sett er riktig, men PowerShell spytter ut $false på grunn av manglende tillatelser eller skrivefeil. Likevel er det et solid første skritt for å unngå å krasje skriptet ditt eller kjøre kommandoer på ikke-eksisterende nøkler. På noen oppsett er det litt ustabilt, men generelt bidrar det til å holde ting ryddig.

Test-RegistryValue – Er verdien du ønsker virkelig der?

Det er ikke alltid like enkelt å sjekke en bestemt registerverdi som å peke på en sti – noen ganger handler det om hvorvidt en bestemt streng eller et tall er lagret i nøkkelen. Funksjonen nedenfor (som du kan kopiere eller justere) bidrar til å bekrefte dette. Grunnen til at den fungerer er fordi den prøver å hente en bestemt egenskap (som et oppstartselement eller et konfigurasjonsflagg) og deretter forteller deg om den er til stede. Det er nyttig hvis du for eksempel prøver å forsikre deg om at et bestemt program er satt til å kjøre ved innlogging eller at et funksjonsflagg er aktivert. Syntaksen ser slik ut:

Function Test-RegistryValue ($regkey, $name) { if (Get-ItemProperty -Path $regkey -Name $name -ErrorAction Ignore) { $true } else { $false } }

Så erstatt $regkeymed registerstien din, som HKCU:\Software\YourApp, og $namemed den spesifikke verdien du er ute etter, som Enabled. På én maskin kan dette fungere umiddelbart; på en annen trenger den kanskje noen sudo/admin-rettigheter. Det er litt rart, men vanligvis vil du bli overrasket over hvor ofte denne lille sjekken sparer deg for mye hodebry når du skripter eller feilsøker.

Reg Query – Kommandolinje og PowerShell, endelig sammen

Hvis PowerShell-kommandoer ikke er nok, eller du foretrekker den gammeldagse måten, reg queryer det fortsatt nyttig. Det er et kommandolinjeverktøy som dumper innholdet i en registernøkkel, noe som gjør det perfekt for raske kontroller eller skripting fra batchfiler. Når du kjører noe som reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Run", viser det alle oppstartselementene under den nøkkelen. Trikset er å huske å kjøre PowerShell eller ledeteksten som administrator noen ganger, spesielt hvis tillatelser blokkerer tilgang. Du kan også pakke det inn i PowerShell ved å gjøre det Invoke-Expression 'reg query...'om nødvendig. Det er litt gammeldags, men superpålitelig for å få en gigantisk liste eller bare bekrefte at en nøkkel eller verdi er riktig konfigurert.

Get-Item og vennene dets – Kraften til PowerShell for registertilgang

Stor fan av Get-Itemog Get-ItemProperty, fordi de er en mer menneskelig måte å rote rundt i registeret på. To hovedmåter å hente verdier på: Get-ItemPropertyValue og Get-ChildItem. De gir forskjellige typer informasjon, men begge er solide valg.

Get-ItemPropertyValue – Enkelt og presist

Denne kommandoen er som å be om et spesifikt dataelement: «Hei, hva er verdien av denne registeroppføringen?» Hvis du for eksempel vil ha oppstarten av Chromium, kjører du:

Get-ItemPropertyValue -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Run -Name Chromium

Hvis registerverdien finnes, spytter kommandoen ut innholdet. Hvis ikke, kaster den en feil med mindre du håndterer den med -ErrorAction. Jeg har brukt dette når jeg bare vil ha verdien raskt, uten å grave gjennom en rekke undernøkler.

Get-ChildItem — List opp alt i en registernøkkel

Dette er bra for å få en fullstendig liste over undernøkler eller verdier i en bestemt registersti. Det fungerer som en katalogliste, men for registeret. Kjør det slik:

Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion

Trenger du å snevre det inn? Du kan legge til parametere eller filtrere med -Nameeller -Exclude. For eksempel, for å ignorere oppføringer som starter med C: Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion -Exclude C*. Ser litt penere ut enn rå registerspørringsutdata, og på noen systemer er det enklere å tolke.