- 06/05/2017
- 5 minutes to read
- j
- s
- k
- m
b
koska rekisterimerkinnät ovat avainten ominaisuuksia, eikä niitä sellaisenaan voi suoraan selata, on otettava hieman erilainen lähestymistapa heidän kanssaan työskennellessä.
rekisterimerkintöjen listaaminen
rekisterimerkintöjen tarkasteluun on monia eri tapoja. Yksinkertaisin tapa on saada kunnollisettunnimet liittyvät avain. Jos haluat nähdä esimerkiksi rekisteriavaimen tietueiden nimetHKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
, käytä Get-Item
. Rekisteriavaimella on ominaisuus, jonka yleisnimi on ”ominaisuus”, joka on luettelo avaimen rekisterimerkinnöistä.Seuraava komento valitsee omaisuuden ominaisuuden ja laajentaa kohteita niin, että ne ovatdisplayed luettelossa:
DevicePathMediaPathUnexpandedProgramFilesDirCommonFilesDirProductId
nähdäksesi rekisterimerkinnät luettavammassa muodossa, käytä Get-ItemProperty
:
Get-ItemProperty -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
avaimen Windowsin Powershelliin liittyvät ominaisuudet ovat kaikki etuliitteessä ”PS”, kuten asPSPath, PSParentPath, pschildname ja psprovider.
voit käyttää
merkintää viitataksesi nykyiseen sijaintiin. Voit käyttääSet-Location
muuttaaksesi ensin nykyiseen rekisterisäiliöön:
Set-Location -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
vaihtoehtoisesti voi käyttää sisäänrakennettua HKLM Psdriveä Set-Location
:
Set-Location -Path hklm:\SOFTWARE\Microsoft\Windows\CurrentVersion
voit sitten käyttää *.*
notaatiota nykyinen sijainti ominaisuuksien luetteloimiseksi määrittelemättä koko polkua:
Get-ItemProperty -Path .
...DevicePath : C:\WINDOWS\infMediaPathUnexpanded : C:\WINDOWS\MediaProgramFilesDir : C:\Program Files...
polkulaajennus toimii samalla tavalla kuin tiedostojärjestelmän sisällä, joten tästä sijainnista saat ItemProperty-listauksen HKLM:\SOFTWARE\Microsoft\Windows\Help
käyttämälläGet-ItemProperty -Path ..\Help
.
yksittäisen rekisterimerkinnän saaminen
Jos haluat hakea tietyn merkinnän rekisteriavaimesta, voit käyttää yhtä useista mahdollisista tavoista. Tässä esimerkissä Devicepathin arvo on HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
.
käyttämällä Get-ItemProperty
, käytä Polkuparametria avaimen nimen määrittämiseen ja sitten nimeä parametri laitteen syötteen nimen määrittämiseen.
Get-ItemProperty -Path HKLM:\Software\Microsoft\Windows\CurrentVersion -Name DevicePath
Tämä komento palauttaa Windowsin normaalit PowerShell-ominaisuudet sekä Devicepathpropertyn.
Huomautus
vaikka Get-ItemProperty
on suodatin, Sisällytä ja sulje parametrit, niitä ei voi käyttää suodattamaan ominaisuuden nimen mukaan. Nämä parametrit viittaavat rekisteriavaimiin, jotka ovat itempaatteja eivätkä rekisterimerkintöjä, jotka ovat kohteen ominaisuuksia.
toinen vaihtoehto on käyttää Reg.exe-komentorivityökalu. Apua Regin kanssa.exe, type reg.exe /?
komentokehotteella. Jos haluat löytää DevicePath-merkinnän, käytä reg.exe kuten seuraavassa komennossa näkyy:
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion /v DevicePath
Voit myös käyttää WshShell COM-objektia joidenkin rekisterimerkintöjen etsimiseen, vaikka tämä menetelmä ei toimi suurten binääritietojen kanssa tai sellaisten rekisterimerkintöjen kanssa, jotka sisältävät merkkejä kuten ”\”). Lisää ominaisuuden nimi kohdepolulle \ – erottimella:
(New-Object -ComObject WScript.Shell).RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DevicePath")
%SystemRoot%\inf
yhden rekisterimerkinnän asettaminen
Jos haluat muuttaa tiettyä tietuetta rekisteriavaimessa, voit käyttää yhtä useista mahdollisista tavoista. Tässä esimerkissä muutetaan Polkusyöttöä alle HKEY_CURRENT_USER\Environment
. ThePath-merkintä määrittää, mistä suoritettavat tiedostot löytyvät.
- hakee Polkusyötteen nykyisen arvon käyttämällä
Get-ItemProperty
. - Lisää uusi arvo erottaen sen
;
. - käytä
Set-ItemProperty
merkittyä avainta, nimikettä ja arvoa rekisterimerkinnän muuttamiseen.
Huomautus
vaikka Set-ItemProperty
on suodatin, Sisällytä ja sulje parametrit, niitä ei voida käyttää suodattamaan ominaisuuden nimen mukaan. Nämä parametrit viittaavat rekisteriavaimiin-jotka ovat itempaatteja—eivätkä rekisterimerkintöihin-jotka ovat kohteen ominaisuuksia.
toinen vaihtoehto on käyttää Reg.exe-komentorivityökalu. Apua Regin kanssa.exe, tyyppi reg.exe /?komentokehotteella.
seuraavassa esimerkissä muutetaan Polkumerkintää poistamalla yllä olevaan esimerkkiin lisätty polku.Get-ItemProperty
käytetään edelleen nykyisen arvon hakemiseen, jotta ei tarvitsisi jäsentää stringreverryä reg query
. Menetelmien alustaa ja viimeisintä Indexiä käytetään hakemaan viimeinen polku, joka on lisätty Polkusyöttöön.
The operation completed successfully.
luodaan uusia rekisterimerkintöjä
lisätäksesi uuden merkinnän ”PowerShellPath” nykyiseen Versionavaimeen, käytä New-ItemProperty
, jossa on avaimen polku, tietueenimi ja tietueenarvo. Tässä esimerkissä otamme arvon Windows PowerShell muuttuja $PSHome
, joka tallentaa polun asennushakemistoon Windows PowerShell.
voit lisätä uuden tietueen avaimeen seuraavalla komennolla, ja komento palauttaa myös tiedon uudesta tietueesta:
Propertytypen täytyy olla Microsoftin nimi.Win32.Registryvaluekindin luettelointi jäsen seuraavasta taulukosta:
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 |
Huomautus
voit lisätä rekisterisyötteen useisiin paikkoihin määrittelemällä arvoryhmän Path-parametrille:
voit myös korvata olemassa olevan rekisterisyötteen arvon lisäämällä Voimaparametrin mihin tahansaNew-ItemProperty
komento.
rekisterimerkintöjen uudelleennimeäminen
PowerShellPath-merkinnän nimeämiseksi muotoon ”PSHome”, käytä Rename-ItemProperty
:
Rename-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion -Name PowerShellPath -NewName PSHome
uudelleennimetyn arvon näyttämiseksi lisää Passhru-parametri komentoon.
Rename-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion -Name PowerShellPath -NewName PSHome -passthru
rekisterimerkintöjen poistaminen
sekä PSHome-että PowerShellPath-rekisterimerkintöjen poistamiseksi, käytä Remove-ItemProperty
: