Arbeide Med Registeroppføringer

  • 06/05/2017
  • 5 minutter å lese
  • j
  • s

  • k
  • m
  • b

fordi registeroppføringer er egenskaper for nøkler og som sådan ikke kan leses direkte, trenger viå ta en litt ulike tilnærminger Når Du Arbeider Med Dem.

Liste Registeroppføringer

det er mange forskjellige måter å undersøke registeroppføringer. Den enkleste måten er å få eiendommennavn knyttet til en nøkkel. Hvis du for eksempel vil se navnene på oppføringene i registernøkkelenHKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion, bruker du Get-Item. Registernøkklerha en egenskap med det generiske navnet «Egenskap» som er en liste over registeroppføringer i nøkkelen.Følgende kommando velger Egenskapen eiendom og utvider elementene slik at de vises i en liste:

DevicePathMediaPathUnexpandedProgramFilesDirCommonFilesDirProductId

for å vise registeroppføringene i en mer lesbar form, brukGet-ItemProperty:

Get-ItemProperty -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

Windows PowerShell-relaterte egenskaper for nøkkelen er alle prefiks med «PS», for eksempel asPSPath, PSParentPath pschildname og psprovider.

du kan bruke *.* notasjonen for å referere til gjeldende plassering. Du kan bruke Set-Location for å endre til CurrentVersion registerbeholderen Først:

Set-Location -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion

Alternativt kan du bruke den innebygde HKLM PSDrive med Set-Location:

Set-Location -Path hklm:\SOFTWARE\Microsoft\Windows\CurrentVersion

du kan deretter bruke *.* nåværende plassering for å liste egenskapene uten å spesifisere en full bane:

Get-ItemProperty -Path .
...DevicePath : C:\WINDOWS\infMediaPathUnexpanded : C:\WINDOWS\MediaProgramFilesDir : C:\Program Files...

baneutvidelse fungerer på samme måte som det gjør i filsystemet, så fra dette stedet kan du getthe itemproperty oppføring For HKLM:\SOFTWARE\Microsoft\Windows\Help ved å brukeGet-ItemProperty -Path ..\Help.

Få En Enkelt Registeroppføring

hvis du vil hente en bestemt oppføring i en registernøkkel, kan du bruke en av flere possibleapproaches. Dette eksemplet finner Verdien Av DevicePath iHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion.

BrukGet-ItemProperty, bruk path-parameteren til å angi navnet på nøkkelen, ognavn parameter for å angi navnet På devicepath-oppføringen.

Get-ItemProperty -Path HKLM:\Software\Microsoft\Windows\CurrentVersion -Name DevicePath

denne kommandoen returnerer standard Windows PowerShell-egenskaper samt DevicePathproperty.

Merk

Selv omGet-ItemProperty Har Filter, Inkluderer og Ekskluderer parametere, kan de ikke brukes til å filtrere etter egenskapsnavn. Disse parameterne refererer til registernøkler, som er itempaths og ikke registeroppføringer, som er elementegenskaper.

Et annet alternativ er å bruke Reg.exe kommandolinjeverktøy. For hjelp med reg.exe, skriv reg.exe /? ved en ledetekst. For å finne DevicePath-oppføringen, bruk reg.exe som vist i følgende kommando:

reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion /v DevicePath

Du kan også bruke wshshell COM-objektet også for å finne noen registeroppføringer, selv om denne metoden ikke fungerer med store binære data eller med registeroppføringsnavn som inneholder tegn som»\»). Tilføy egenskapsnavnet til varebanen med en \ separator:

(New-Object -ComObject WScript.Shell).RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DevicePath")
%SystemRoot%\inf

Angi En Enkelt Registeroppføring

hvis du vil endre en bestemt oppføring i en registernøkkel, kan du bruke en av flere possibleapproaches. Dette eksemplet endrer Baneoppføringen under HKEY_CURRENT_USER\Environment. ThePath oppføring angir hvor du finner kjørbare filer.

  1. Hent gjeldende verdi for Baneoppføringen ved hjelp av Get-ItemProperty.
  2. Legg til den nye verdien, skille den med en ;.
  3. BrukSet-ItemProperty med angitt nøkkel, oppføringsnavn og verdi for å endre registryentry.

Merk

Selv omSet-ItemProperty har Filter, Inkludere og Ekskludere parametere, kan de ikke brukes til å filtrere etter egenskapsnavn. Disse parameterne refererer til registernøkler – som er itempaths – og ikke registeroppføringer-som er elementegenskaper.

Et annet alternativ er å bruke Reg.exe kommandolinjeverktøy. For hjelp med reg.exe, skriv inn reg.exe /?ved en ledetekst.

følgende eksempel endrer Baneoppføringen ved å fjerne banen som er lagt til i eksemplet ovenfor.Get-ItemProperty brukes fortsatt til å hente gjeldende verdi for å unngå å måtte analysere stringreturned fra reg query. SubString-og LastIndexOf-metodene brukes til å hente den siste banen som er lagt til I Baneoppføringen.

The operation completed successfully.

Opprette Nye Registeroppføringer

for å legge til En ny oppføring kalt «PowerShellPath» Til CurrentVersion-nøkkelen, bruk New-ItemPropertymed banen til nøkkelen, oppføringsnavnet og verdien av oppføringen. For dette eksemplet vil vita verdien Av windows PowerShell-variabelen $PSHome, som lagrer banen tilinstallasjonskatalogen For Windows PowerShell.

du kan legge til den nye oppføringen i nøkkelen ved å bruke følgende kommando, og kommandoen returnerer ogsåinformasjon om den nye oppføringen:

PropertyType må være Navnet På En Microsoft.Win32.RegistryValueKind opplisting medlemfra følgende tabell:

PropertyType Value Meaning
Binary Binary data
DWord A number that is a valid UInt32
ExpandString A string that can contain environment variables that are dynamically expanded
MultiString A multiline string
String Any string value
QWord 8 bytes of binary data

Merk

Du kan legge til en registeroppføring på flere steder ved å angi en matrise med verdier for path-parameteren:

du kan også overskrive en eksisterende registeroppføringsverdi ved å legge Til Force-parameteren til en hvilken som helstNew-ItemProperty kommando.

Gi Nytt Navn Til Registeroppføringer

for Å gi Nytt Navn Til PowerShellPath-oppføringen til «PSHome», brukRename-ItemProperty:

Rename-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion -Name PowerShellPath -NewName PSHome

for å vise den omdøpte verdien, legg Til PassThru-parameteren i kommandoen.

Rename-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion -Name PowerShellPath -NewName PSHome -passthru

Slette Registeroppføringer

hvis du vil slette både pshome-og PowerShellPath-registeroppføringene, bruker duRemove-ItemProperty:

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *