- 06/05/2017
- 5 minut číst
-
- j
- k
- m
- b
Protože záznamy v registru jsou vlastnosti klíče a jako takové nemůže být přímo procházet, potřebujeme mít mírně odlišný přístup při práci s nimi.
výpis položek registru
existuje mnoho různých způsobů, jak zkoumat položky registru. Nejjednodušší je získat vlastnostjména spojená s klíčem. Například, chcete-li zobrazit názvy položek v klíči registruHKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
Get-Item
. Klíče registru mají vlastnost s obecným názvem „vlastnost“, což je seznam položek registru v klíči.Následující příkaz vybere vlastnost property a rozbalí položky tak, aby byly zobrazeny v seznamu:
DevicePathMediaPathUnexpandedProgramFilesDirCommonFilesDirProductId
K zobrazení registru v čitelnější podobě, používání Get-ItemProperty
:
Get-ItemProperty -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
Windows PowerShell související vlastnosti pro klíčové jsou všechny s předponou „PS“, jako asPSPath, PSParentPath, PSChildName, a PSProvider.
můžete použít *.*
notaci pro odkaz na aktuální umístění. Můžete použít Set-Location
nejprve změnit kontejner registru CurrentVersion:
Set-Location -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
Případně můžete použít vestavěný-v HKLM PSDrive s Set-Location
:
Set-Location -Path hklm:\SOFTWARE\Microsoft\Windows\CurrentVersion
můžete pak použít *.*
notace pro aktuální polohu na seznam vlastností withoutspecifying plnou cestou:
Get-ItemProperty -Path .
...DevicePath : C:\WINDOWS\infMediaPathUnexpanded : C:\WINDOWS\MediaProgramFilesDir : C:\Program Files...
Cesta expanze funguje stejně jako to dělá v rámci systému souborů, takže z tohoto umístění můžete dostat ItemProperty pro výpis HKLM:\SOFTWARE\Microsoft\Windows\Help
pomocíGet-ItemProperty -Path ..\Help
.
získání jediné položky registru
Pokud chcete načíst konkrétní položku v klíči registru, můžete použít jeden z několika možných přístupů. Tento příklad najde hodnotu DevicePath vHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
.
Pomocí Get-ItemProperty
, použijte Cestu parametru zadejte název klíče a název parametru zadejte název DevicePath vstupu.
Get-ItemProperty -Path HKLM:\Software\Microsoft\Windows\CurrentVersion -Name DevicePath
Tento příkaz vrací standardní vlastnosti prostředí Windows PowerShell i DevicePathproperty.
Poznámka:
i když Get-ItemProperty
má Filtr, Zahrnout, a Vyloučit parametry, které nelze použít k filtrování podle názvu vlastnosti. Tyto parametry se vztahují na klíče registru, které jsou itempathy a nikoli položky registru, což jsou vlastnosti položky.
Další možností je použít Reg.exe nástroj příkazového řádku. Pro pomoc s reg.exe, zadejte reg.exe /?
na příkazovém řádku. Chcete-li najít položku DevicePath, použijte reg.exe, jak je uvedeno v následujícím příkazu:
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion /v DevicePath
můžete také použít WshShell objektu COM také najít nějaké záznamy v registru, i když tato metoda nefunguje s velké binární data nebo položku registru, názvy, které obsahují characterssuch jako „\“). Přidat název vlastnosti do položky cesta s \ oddělovač:
(New-Object -ComObject WScript.Shell).RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\DevicePath")
%SystemRoot%\inf
Nastavení jedné položky Registru
Pokud chcete změnit konkrétní záznam v registru klíč, můžete použít jednu z několika possibleapproaches. Tento příklad upravuje položku cesty pod HKEY_CURRENT_USER\Environment
. Položka path určuje, kde najít spustitelné soubory.
- načte aktuální hodnotu položky cesty pomocí
Get-ItemProperty
. - přidejte novou hodnotu a oddělte ji
;
. - použijte
Set-ItemProperty
se zadaným klíčem, názvem položky a hodnotou pro změnu registryentry.
Poznámka
ačkoli Set-ItemProperty
má filtr, zahrnout a vyloučit parametry, nemohou být použity k filtrování podle názvu vlastnosti. Tyto parametry odkazují na klíče registru-což jsou itempathy-a nikoli položky registru-což jsou vlastnosti položky.
Další možností je použít Reg.exe nástroj příkazového řádku. Pro pomoc s reg.exe, zadejte reg.exe /?na příkazovém řádku.
následující příklad změní položku cesta odstraněním cesty přidané v příkladu výše.Get-ItemProperty
se stále používá k načtení aktuální hodnoty, aby se předešlo nutnosti analyzovat řetězec navrácený z reg query
. Metody SubString a LastIndexOf se používají k načtení poslední cesty přidané do položky cesta.
The operation completed successfully.
Vytváření Nové Položky Registru
Chcete-li přidat novou položku s názvem „PowerShellPath“ CurrentVersion klíč, použijte New-ItemProperty
s cestou na klíč, název položky a hodnota vstupu. V tomto příkladu budemevezměte hodnotu proměnné Windows PowerShell $PSHome
, která ukládá cestu k adresáři instalace pro Windows PowerShell.
novou položku můžete přidat do klíče pomocí následujícího příkazu a příkaz se také vrátíinformace o nové položce:
PropertyType musí být název Microsoft.Win32.RegistryValueKind výčet členůz následující tabulky:
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 |
Poznámka:
můžete přidat položku registru do více míst zadáním pole hodnot pro parametr cesta:
můžete také přepsat již existující hodnotu položky registru přidáním parametr Síly, aby jakékolivNew-ItemProperty
příkaz.
Přejmenování Položky Registru
Abyste přejmenovat PowerShellPath vstup do „PSHome,“ použít Rename-ItemProperty
:
Rename-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion -Name PowerShellPath -NewName PSHome
K zobrazení přejmenována hodnota, přidejte PassThru parametr příkazu.
Rename-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion -Name PowerShellPath -NewName PSHome -passthru
Smazání Položky Registru
odstranit obě PSHome a PowerShellPath registru, použijte Remove-ItemProperty
: