Menu
CHIP Speedtest

Přímá editace systémového registru z příkazového řádku

25.01.2011 15:15 | Redakce Chip
Powershell v aktuální verzi Windows je bez nadsázky vysoce výkonný nástroj. Jeho pomocí se dají nejen zpracovávat skripty, ale také upravovat nastavení v systémovém registru.

Powershell disponuje rozsáhlou sadou příkazů a pracuje jako objektově orientovaný. Z centrálního místa je tak možný také přímý přístup do systémového registru. Toto rozhraní umí začlenit hlavní větve jako separátní virtuální jednotky a přistupovat k nim. Označení jednotek je odvozeno od začátečních písmen částí slov příslušné hlavní větve. Například pro »HKEY_CURRENT_USER« bude virtuální jednotka pojmenována »HKCU:«.
Při navigování používejte stejně jako u složek souborů příkaz »cd«, případně nový příkaz („commandlet“) Powershellu »Set-Location«. Jednotlivé klíče registru jsou v souborovém systému vedeny jako podsložky, takže lze používat obvyklé příkazy. Liší se ovšem dotazy na určité hodnoty registru, neboť systém je interpretuje jako vlastnosti klíče. Zadáte-li tedy »dir« nebo »Get-ChildItem« a stisknete [Enter], Windows vypíšou ve složce ležící podklíče, nikoli však jejich existující hodnoty. Dva předřazené sloupce indikují, kolik podklíčů (SKC) a hodnot (VC) je v každém prvku obsaženo. Ke zjištění jednotlivých hodnot slouží příkaz »Get-ItemProperty«, jemuž musíte jako argument předat alespoň cestu k adresáři. Jako zástupný znak pro aktuální cestu přitom můžete jednoduše použít tečku. Dotaz lze omezit dalšími parametry.
Celou záležitost objasní následující příklad:
Do Powershellu zadejte

cd HKCU:SoftwareMicrosoftWindowsCurrentVersionExplorer

a potom »dir«. Výstup příkazu pak prozradí všechny existující podklíče. Čísla před položkami ukazují, kolik podklíčů a hodnot je v nich obsaženo. Pro prvek »Advanced« je to například »0« dalších podklíčů, ale »20« hodnot. Příkazem

cd Advanced

se přepnete do tohoto klíče. Praktické přitom je, že neúplné zadání se dá klávesou [Tab] automaticky dokončit. Zde tedy stačí napsat »cd a« a stisknout [Tab]. Příkazem »Get-ItemProperty .« nyní můžete zjistit všechny existující hodnoty.

Get-ItemProperty . -name:ShowInfoTip

naproti tomu vrátí tuto hodnotu registru s výsledkem »1«. Tato hodnota »1« je prvkem v maticové struktuře. Ve skriptu přiřaďte výsledek třeba nějaké proměnné, abyste s ním mohli dále pracovat. Takto pak můžete pomocí commandletu »Set-ItemProperty« také měnit hodnoty registru. Jako argument budete opět potřebovat virtuální cestu, název hodnoty jako parametr a požadovanou hodnotu. Tak například příkaz

Set-ItemProperty . -name:ShowInfoTip 0

nastaví hodnotu uvedeného řetězce na »0«. Nové hodnoty vytváří příkaz »New-ItemProperty«, a »Remove-ItemProperty« hodnoty maže. K zakládání nových klíčů používejte »New-Item« nebo ze souborového systému známý příkaz »md«, k odstranění klíče »RemoveItem«. Pomocí »Test-Path« zkontrolujete, zda určitý klíč existuje. Nápovědu k používání těchto příkazů získáte po zadání dotazu »Get-Help«, za nímž následuje příkaz jako argument.

Zajímavosti ze světa IT v e-mailu

Stačí odeslat svoji e-mailovou adresu


Odesláním formuláře souhlasíte se zpracováním svých osobních údajů a užitím pro marketingové účely vydavatelství Burda Praha, spol. s.r.o.

Předplatné / nákup chipu Digitální edice chipu Aktuální vydání