{"id":10730,"date":"2026-02-14T15:05:04","date_gmt":"2026-02-14T15:05:04","guid":{"rendered":"https:\/\/howtogeek.blog\/da\/?p=10730"},"modified":"2026-02-14T15:05:04","modified_gmt":"2026-02-14T15:05:04","slug":"saadan-henter-du-registreringsvaerdier-ved-hjaelp-af-powershell","status":"publish","type":"post","link":"https:\/\/howtogeek.blog\/da\/saadan-henter-du-registreringsvaerdier-ved-hjaelp-af-powershell\/","title":{"rendered":"S\u00e5dan henter du registreringsv\u00e6rdier ved hj\u00e6lp af PowerShell"},"content":{"rendered":"<p>At h\u00e5ndtere registreringsv\u00e6rdier i Windows f\u00f8les ofte som at fors\u00f8ge at afkode et fremmed sprog. Nogle registreringsn\u00f8gler er skjult bag lag af kompleksitet, og det er ikke altid nok bare at vide, hvad der skal k\u00f8res i PowerShell &#8211; is\u00e6r hvis du fejlfinder eller automatiserer ting. Det er lidt irriterende, n\u00e5r kommandoerne til at hente disse v\u00e6rdier ikke helt fungerer, som du ville forvente, eller kaster fejl, du ikke forst\u00e5r. S\u00e5 denne guide er stort set en samling af m\u00e5der, jeg har fundet nyttige til at udtr\u00e6kke registreringsoplysninger p\u00e5lideligt, selv n\u00e5r tingene virker m\u00e6rkelige. Efter at have rodet rundt med disse metoder, kan du verificere, foresp\u00f8rge eller bare kigge p\u00e5 registreringsposter uden hovedpine. N\u00f8glen er at forst\u00e5, hvorn\u00e5r og hvorfor hver metode virker &#8211; for nogle gange er den enkleste kommando den, der fejler, og du er n\u00f8dt til at skifte taktik. Forvent at f\u00e5 et klarere indblik i registreringsstrukturen, hvilket kan hj\u00e6lpe, hvis du pr\u00f8ver at deaktivere opstartselementer, kontrollere installationstilstande eller bare fejlfinde noget m\u00e6rkelig Windows-adf\u00e6rd.<\/p>\n<h2>S\u00e5dan f\u00e5r du registreringsn\u00f8glev\u00e6rdier i PowerShell uden at miste dit sind<\/h2>\n<h3>Teststi \u2013 Er den registreringssti overhovedet der?<\/h3>\n<p>Denne del er ret simpel, men super nyttig. Windows PowerShells <code>Test-Path<\/code>kommandolinje er som en f\u00f8rste kontrol for at se, om en registreringsdatabasen\u00f8gle eller -v\u00e6rdi findes, f\u00f8r man pr\u00f8ver at g\u00f8re noget kompliceret. Den er fantastisk til scripting, is\u00e6r til fejlh\u00e5ndtering. Grundl\u00e6ggende k\u00f8rer du en kommando som <code>Test-Path HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Run<\/code>, og hvis n\u00f8glen er der, f\u00e5r du <strong>$true<\/strong>. Hvis den mangler, f\u00e5r du <strong>$false<\/strong>. Nogle gange indeholder stien mellemrum eller m\u00e6rkelige tegn, s\u00e5 hold stien i dobbelte anf\u00f8rselstegn: <code>Test-Path \"HKLM:\\Some\\Really Weird Path\"<\/code>. Jeg har set tilf\u00e6lde, hvor en sti teknisk set er korrekt, men PowerShell spytter <strong>$false<\/strong> ud p\u00e5 grund af manglende tilladelser eller sl\u00e5fejl. Det er stadig et solidt f\u00f8rste skridt til at undg\u00e5 at f\u00e5 dit script til at g\u00e5 ned eller k\u00f8re kommandoer p\u00e5 ikke-eksisterende n\u00f8gler. P\u00e5 nogle ops\u00e6tninger er det lidt ustabilt, men generelt hj\u00e6lper det med at holde tingene ryddelige.<\/p>\n<h3>Test-RegistryValue \u2014 Er den v\u00e6rdi, du \u00f8nsker, virkelig der?<\/h3>\n<p>Det er ikke altid s\u00e5 ligetil at kontrollere en specifik v\u00e6rdi i registreringsdatabasen som at finde en sti \u2013 nogle gange handler det om, hvorvidt en bestemt streng eller et tal er gemt i n\u00f8glen. Funktionen nedenfor (som du kan kopiere eller justere) hj\u00e6lper med at bekr\u00e6fte dette. Grunden til, at det virker, er, at den fors\u00f8ger at hente en bestemt egenskab (som et opstartselement eller et konfigurationsflag) og derefter fort\u00e6ller dig, om den er til stede. Det er nyttigt, hvis du f.eks.pr\u00f8ver at sikre dig, at et bestemt program er indstillet til at k\u00f8re ved login, eller at et funktionsflag er aktiveret. Syntaksen ser s\u00e5dan ud:<\/p>\n<p> <code><\/p>\n<pre>Function Test-RegistryValue ($regkey, $name) { if (Get-ItemProperty -Path $regkey -Name $name -ErrorAction Ignore) { $true } else { $false } }<\/pre>\n<p><\/code> <\/p>\n<p>S\u00e5 erstat <code>$regkey<\/code>med din registreringssti, f.eks.<strong>HKCU:\\Software\\YourApp<\/strong>, og <code>$name<\/code>med den specifikke v\u00e6rdi, du leder efter, f.eks.<strong>Enabled<\/strong>. P\u00e5 \u00e9n maskine virker dette muligvis med det samme; p\u00e5 en anden kr\u00e6ver det m\u00e5ske nogle sudo\/admin-rettigheder. Det er lidt m\u00e6rkeligt, men normalt vil du blive overrasket over, hvor ofte denne lille kontrol sparer en masse hovedpine, n\u00e5r du skriver scripts eller foretager fejlfinding.<\/p>\n<h3>Reg Query \u2014 Kommandolinje og PowerShell, endelig sammen<\/h3>\n<p>Hvis PowerShell-kommandoer ikke er nok, eller du foretr\u00e6kker den gammeldags metode, <code>reg query<\/code>er det stadig praktisk. Det er et kommandolinjev\u00e6rkt\u00f8j, der dumper indholdet af en registreringsn\u00f8gle, hvilket g\u00f8r det perfekt til hurtige kontroller eller scripting fra batchfiler. N\u00e5r du k\u00f8rer noget som <code>reg query \"HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\"<\/code>, viser det alle opstartselementerne under den p\u00e5g\u00e6ldende n\u00f8gle. Tricket er at huske at k\u00f8re PowerShell eller Kommandoprompt som administrator nogle gange, is\u00e6r hvis tilladelser blokerer adgang. Du kan ogs\u00e5 pakke det ind i PowerShell ved at g\u00f8re det, <code>Invoke-Expression 'reg query...'<\/code>hvis det er n\u00f8dvendigt. Det er lidt gammeldags, men super p\u00e5lideligt til at f\u00e5 en k\u00e6mpe liste eller bare bekr\u00e6fte, at en n\u00f8gle eller v\u00e6rdi er konfigureret korrekt.<\/p>\n<h3>Get-Item og dets venner \u2014 PowerShells kraft til adgang til registreringsdatabasen<\/h3>\n<p>Stor fan af <code>Get-Item<\/code>og <code>Get-ItemProperty<\/code>, fordi de er en mere menneskelig m\u00e5de at rode rundt i registreringsdatabasen p\u00e5. To prim\u00e6re m\u00e5der at hente v\u00e6rdier p\u00e5: <strong>Get-ItemPropertyValue<\/strong> og <strong>Get-ChildItem<\/strong>. De giver forskellige smagsvarianter af information, men begge er solide valg.<\/p>\n<h4>Get-ItemPropertyValue \u2014 Nemt og pr\u00e6cist<\/h4>\n<p>Denne kommando er som at bede om et specifikt stykke data: &#8220;Hey, hvad er v\u00e6rdien af \u200b\u200bdenne registreringsdatabasepost?&#8221; Hvis du for eksempel vil have <strong>Chromium-<\/strong> opstart, skal du k\u00f8re:<\/p>\n<p> <code><\/p>\n<pre>Get-ItemPropertyValue -Path HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Run -Name Chromium<\/pre>\n<p><\/code> <\/p>\n<p>Hvis v\u00e6rdien i registreringsdatabasen findes, spytter kommandoen dens indhold ud. Hvis ikke, kaster den en fejl, medmindre du h\u00e5ndterer den med <code>-ErrorAction<\/code>. Jeg har brugt dette, n\u00e5r jeg bare vil have v\u00e6rdien hurtigt, uden at grave mig igennem en masse undern\u00f8gler.<\/p>\n<h4>Get-ChildItem \u2014 Vis alle i en registreringsdatabasen\u00f8gle<\/h4>\n<p>Dette er godt til at f\u00e5 en komplet liste over undern\u00f8gler eller v\u00e6rdier i en bestemt sti i registreringsdatabasen. Det fungerer som en mappeliste, men for registreringsdatabasen. K\u00f8r det s\u00e5dan her:<\/p>\n<p> <code><\/p>\n<pre>Get-ChildItem -Path HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion<\/pre>\n<p><\/code> <\/p>\n<p>Har du brug for at indsn\u00e6vre det? Du kan tilf\u00f8je parametre eller filtrere med <code>-Name<\/code>eller <code>-Exclude<\/code>. For eksempel for at ignorere poster, der starter med C: <code>Get-ChildItem -Path HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion -Exclude C*<\/code>. Ser lidt p\u00e6nere ud end r\u00e5 reg-foresp\u00f8rgselsoutput, og p\u00e5 nogle systemer er det lettere at fortolke.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>At h\u00e5ndtere registreringsv\u00e6rdier i Windows f\u00f8les ofte som at fors\u00f8ge at afkode et fremmed sprog. Nogle registreringsn\u00f8gler er skjult bag lag af kompleksitet, og det er ikke altid nok bare at vide, hvad der skal k\u00f8res i PowerShell &#8211; is\u00e6r hvis du fejlfinder eller automatiserer ting. Det er lidt irriterende, n\u00e5r kommandoerne til at hente [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-10730","post","type-post","status-publish","format-standard","hentry","category-how-to"],"acf":[],"_links":{"self":[{"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/posts\/10730","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/comments?post=10730"}],"version-history":[{"count":1,"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/posts\/10730\/revisions"}],"predecessor-version":[{"id":10731,"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/posts\/10730\/revisions\/10731"}],"wp:attachment":[{"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/media?parent=10730"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/categories?post=10730"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/howtogeek.blog\/da\/wp-json\/wp\/v2\/tags?post=10730"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}