Registervärden är filerna som innehåller egenskaperna och inställningarna för operativsystemet eller ett installerat program. De lagrar individuella/globala konfigurationer av applikationer under uppstart och inloggning. Dessa värden finns i olika format och kan ha värden i sträng, hexadecimal eller binär.

För att få ett önskat registernyckelvärde i PowerShell måste användarna ange syntax som kallas commandlets (cmdlets). Dessa är lätta kommandon inbyggda i.NET Framework som utför en specifik uppgift eller utgör en del av ett skript i Windows PowerShell.

Metoder för att få registernyckelvärde i Powershell

Registret är indelat i fem huvudkataloger som kallas bikupor. Nämligen, HKEY_LOCAL_MACHINE(HKLM) HKEY_CURRENT_CONFIG(HKCC) HKEY_CLASSES_ROOT(HKCR) HKEY_USERS(HKU) HKEY_CURRENT_USER(HKCU)

Dessa”hives”innehåller ytterligare underkataloger som kallas Nycklar som också kan innehålla sina egna undernycklar. Dessa nycklar är de mappar som innehåller värdena och egenskaperna för systemet/applikationen.

Test-Path

Innan vi lär oss att få registervärden är det fördelaktigt att veta hur man genererar och testar sökvägen för registerkatalogen i PowerShell. För att göra detta kan du validera sökvägsnyckeln med kommandoletten Test-sökväg.

Denna kommandolett returnerar sedan ett”True”-värde om nyckeln/sökvägen finns och returnerar ett”False”-värde om sökvägen eller nyckeln inte finns.

Öppna Kör och skriv powershell för att öppna PowerShell-konsolen Inuti, skriv följande syntax och tryck på Retur. ersätt och med deras respektive poster
Test-Path :\
t.ex.:Test-Path HKCU:\Software \Microsoft\Windows\CurrentVersion\Run
Om katalogmappen eller sökvägen har ett tomt mellanslag mellan namnet, håll namnet inom dubbla citattecken (“”)
Testsökväg :\”“Nu, för att testa om värdet eller registerposten finns i nyckeln, kan du använda skriptet nedan.
Här, -Path $regkey och-Namn $name ska ersättas med deras respektive värden. Funktion Test-RegistryValue ($regkey, $name) { if (Get-ItemProperty-Path $regkey-Name $name-ErrorAction Ignore) { $true } else { $false } }

Exempel,

Funktion Test-RegistryValue ($regkey, $name) { if (Get-ItemProperty-Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Run-Name Chromium-ErrorAction Ignore) { $true } else { $false } }

Reg Query

Reg. Fråga cmdlet returnerar en lista med nycklar eller undernyckelinnehåll. Denna cmdlet visar innehållet som finns under nästa nivå eller nivå i katalogen. Denna cmdlet är användbar eftersom den visar allt innehåll i den angivna registersökvägen eller katalogen.

I det här exemplet visar frågan de registerposter som finns under undernyckeln”Kör”.

Öppna Kör och skriv powershell för att öppna PowerShell-konsolen Inuti , skriv följande kommandon och tryck på Retur
Reg Query “\
t.ex.:  Reg Query “HKCU\Software\Microsoft\Windows\CurrentVersion\Run”

Använda Get-Item

Metoden för att få önskat registernyckelvärde i PowerShell är genom att använda Get-Item cmdlets. Detta hämtar information från kataloger som specificerats av användaren i PowerShell. Det finns huvudsakligen två metoder för att hämta nyckelvärdet från Get-Item cmdlet.

Genom att använda dessa cmdlets kan användare få önskat registernyckelvärde e i PowerShell.

Get-ItemPropertyValue

En annan metod för att hämta önskat registervärde är att använda cmdleten Get-ItemPropertyValue. Denna cmdlet får värdena eller egenskaperna för de angivna objekten efter att den har körts.

Syntaxen för att hämta registervärdet:

Öppna PowerShell och skriv in följande kommando
Get-ItemPropertyValue-Path :\
t.ex.: Get-ItemPropertyValue-Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Run-Name Chromium
Du kan dessutom ställa in följande parametrar efter att ha angett sökvägen för registernyckeln

ParametrarFunktion-Name Hämtar egenskapen för det angivna värdet inuti en nyckel -Inkludera Anger strängarray som kommer att inkluderas under drift. Parametern fungerar endast om cmdleten inkluderar innehållet i objektet-Exclude Anger strängarray som kommer att exkluderas under operation

När du har angett syntaxen trycker du på Enter och sedan på den angivna registernyckeln innehållet kommer att visas på PowerShell.

Get-ChildItem

En annan metod för att få det nödvändiga registervärdet i PowerShell är att använda Get-ChildItem cmdlet. Denna cmdlet räknar upp och visar sedan alla listade objekt från den angivna katalogen. Cmdlet returnerar dock ingenting om en katalog är tom.

Följande syntax används för att hämta nyckelvärde från Get-ChildItem cmdlet:

Get-ChildItem-Path :\
t.ex. Get-ChildItem-Path HKCU:\Software\Microsoft\Windows\CurrentVersion
För att köra cmdleten med parametrar, skriv dem på följande sätt
t.ex.: Get-ChildItem-Path HKCU:\Software\Microsoft\Windows\CurrentVersion-Namn-Uteslut C*

Cmdleten exkluderar alla nycklar och undernycklar under HKCU:\Software\Microsoft\Wind ows\CurrentVersion sökväg som börjar med bokstaven C Du kan ställa in följande ytterligare parametrar efter att ha angett sökvägen för registernyckeln

ParameterFunktioner-Inkludera Inkluderar nycklar och objekt som anges i parametern
[t.ex.:-Inkludera *.txt]-Uteslut Utesluter nycklar och objekt som anges i parametern
[t.ex.:-Exclude C*]-Depth Definierar antalet undernycklar som cmdleten kan gå igenom. Heltalsvärden kan sträcka sig från 0 till 4 294 967 295
[t.ex.:-Djup 3]-Namn Listar undernycklarna inuti den angivna nyckeln-HiddenLists endast de dolda objekten inuti den angivna nyckeln. Visar dolda objekt med inkluderingen av parametern-Force

Användning av denna cmdlet istället för Get-ItemPropertyValue ger dig en mer läsbar utdata av innehållet inuti registernyckeln.

Categories: IT Info