about_Registry_Provider

Szolgáltató neve

Beállításjegyzék

Meghajtók

HKLM:, HKCU:

Képességek

ShouldProcess, UseTransactions

Rövid leírás

Hozzáférést biztosít a beállításkulcsokhoz, bejegyzésekhez és értékekhez a PowerShellben.

Részletes leírás

Ezek az információk csak a Windows rendszeren futó PowerShellre vonatkoznak.

A PowerShell beállításjegyzék-szolgáltatója lehetővé teszi a beállításkulcsok, bejegyzések és értékek lekérését, hozzáadását, módosítását, törlését és törlését a PowerShellben.

A beállításjegyzék-meghajtók a számítógépen található beállításkulcsokat és alkulcsokat tartalmazó hierarchikus névtér. A beállításjegyzék bejegyzései és értékei nem képezik a hierarchia összetevőit. Ehelyett az egyes kulcsok tulajdonságai.

A beállításjegyzék-szolgáltató az alábbi parancsmagokat támogatja, amelyekről ebben a cikkben szó van.

A szolgáltató által közzétett típusok

A beállításkulcsok a Microsoft.Win32.RegistryKey osztály példányaiként jelennek meg . A beállításjegyzék-bejegyzések a PSCustomObject osztály példányaiként jelennek meg.

A beállításjegyzék-szolgáltató két alapértelmezett meghajtóként teszi elérhetővé az adattárát. A beállításjegyzék HKEY_LOCAL_MACHINE a meghajtóra HKLM: van leképezve, HKEY_CURRENT_U Standard kiadás R pedig a HKCU: meghajtóra van leképezve. A beállításjegyzék használatához az alábbi paranccsal módosíthatja a helyet a HKLM: meghajtóra.

Set-Location HKLM:

Fájlrendszer-meghajtóra való visszatéréshez írja be a meghajtó nevét. Írja be például a következőt:

Set-Location C:

A beállításjegyzék-szolgáltatóval bármely más PowerShell-meghajtóról is dolgozhat. Ha másik helyről szeretne egy beállításkulcsra hivatkozni, használja a meghajtó nevét (HKLM:, HKCU:) az elérési úton. Használjon fordított perjelet (\) vagy perjelet (/) a Beállításjegyzék-meghajtó szintjének jelzéséhez.

PS C:\> cd HKLM:\Software

Feljegyzés

A PowerShell aliasokkal teszi lehetővé a szolgáltatói útvonalakkal való munkavégzést. Az olyan parancsok, mint például dir a ls Get-ChildItem aliasai, cd a Set-Location aliasai, és pwd a Get-Location aliasai.

Ez az utolsó példa egy másik elérésiút-szintaxist mutat be, a beállításjegyzék-szolgáltatóban való navigáláshoz. Ez a szintaxis a szolgáltató nevét, majd két kettőspontot ::használ. Ez a szintaxis lehetővé teszi a teljes HIVE-név használatát a megfeleltetett meghajtónév HKLMhelyett.

cd "Registry::HKEY_LOCAL_MACHINE\Software"

A beállításkulcsok tartalmának megjelenítése

A beállításjegyzék kulcsokra, alkulcsokra és bejegyzésekre oszlik. A beállításjegyzék szerkezetével kapcsolatos további információkért lásd a beállításjegyzék struktúráját.

A beállításjegyzék-meghajtókban minden kulcs egy tároló. A kulcsok tetszőleges számú kulcsot tartalmazhatnak. A szülőkulcsot tartalmazó beállításkulcsot alkulcsnak nevezzük. A beállításkulcsok megtekintéséhez és Set-Location a kulcs elérési útjára való navigáláshoz használhatóGet-ChildItem.

A beállításjegyzék-értékek egy beállításkulcs attribútumai. A Beállításjegyzék-meghajtón az elemek tulajdonságainak nevezzük őket. A beállításkulcsok gyermekkulcsokkal és elemtulajdonságokkal is rendelkezhetnek.

Ebben a példában a különbség a kettő között Get-ItemGet-ChildItem és a között jelenik meg. Ha a "Spooler" beállításkulcsot használja Get-Item , megtekintheti annak tulajdonságait.

Get-Item -Path HKLM:\SYSTEM\CurrentControlSet\Services\Spooler
    Hive: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services


Name        Property
----        --------
Spooler     DependOnService    : {RPCSS, http}
            Description        : @%systemroot%\system32\spoolsv.exe,-2
            DisplayName        : @%systemroot%\system32\spoolsv.exe,-1
            ErrorControl       : 1
            FailureActions     : {16, 14, 0, 0...}
            Group              : SpoolerGroup
            ImagePath          : C:\WINDOWS\System32\spoolsv.exe
            ObjectName         : LocalSystem
            RequiredPrivileges : {SeTcbPrivilege, SeImpersonatePrivilege, ...
            ServiceSidType     : 1
            Start              : 2
            Type               : 27

Minden beállításkulcs alkulcsokkal is rendelkezhet. Ha beállításkulcson használja Get-Item , az alkulcsok nem jelennek meg. A Get-ChildItem parancsmag megjeleníti a "Spooler" kulcs gyermekelemeit, beleértve az egyes alkulcsok tulajdonságait is. A szülőkulcsok tulajdonságai nem jelennek meg a használat Get-ChildItemsorán.

Get-ChildItem -Path HKLM:\SYSTEM\CurrentControlSet\Services\Spooler
    Hive: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Spooler


Name             Property
----             --------
Performance      Close           : PerfClose
                 Collect         : PerfCollect
                 Collect Timeout : 2000
                 Library         : C:\Windows\System32\winspool.drv
                 Object List     : 1450
                 Open            : PerfOpen
                 Open Timeout    : 4000
Security         Security : {1, 0, 20, 128...}

A Get-Item parancsmag az aktuális helyen is használható. Az alábbi példa a "Spooler" beállításkulcsra lép, és lekéri az elem tulajdonságait. A pont . az aktuális hely jelzésére szolgál.

cd HKLM:\System\CurrentControlSet\Services\Spooler
Get-Item .
    Hive: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Name             Property
----             --------
Spooler          DependOnService    : {RPCSS, http}
                 Description        : @%systemroot%\system32\spoolsv.exe,-2
...

Az ebben a szakaszban tárgyalt parancsmagokról az alábbi cikkekben olvashat bővebben.

-Get-Item -Get-ChildItem

Beállításkulcs-értékek megtekintése

A beállításkulcs értékei az egyes beállításkulcsok tulajdonságaiként vannak tárolva. A Get-ItemProperty parancsmag a megadott név alapján tekinti meg a beállításkulcs tulajdonságait. Az eredmény egy PSCustomObject , amely a megadott tulajdonságokat tartalmazza.

Az alábbi példa a Get-ItemProperty parancsmaggal jeleníti meg az összes tulajdonságot. Az eredményként kapott objektum változóban való tárolása lehetővé teszi a kívánt tulajdonságérték elérését.

$p = Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Spooler
$p.DependOnService
RPCSS
http

A paraméter értékének -Name megadása kiválasztja a megadott tulajdonságokat, és visszaadja a PSCustomObject értéket. Az alábbi példa a paraméter használatakor a kimenet különbségét -Name mutatja be.

Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Wbem
BUILD                      : 17134.1
Installation Directory     : C:\WINDOWS\system32\WBEM
MOF Self-Install Directory : C:\WINDOWS\system32\WBEM\MOF
PSPath                     : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wbem
PSParentPath               : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
PSChildName                : Wbem
PSDrive                    : HKLM
PSProvider                 : Microsoft.PowerShell.Core\Registry
Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Wbem -Name BUILD
BUILD        : 17134.1
PSPath       : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wbem
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
PSChildName  : Wbem
PSDrive      : HKLM
PSProvider   : Microsoft.PowerShell.Core\Registry

A PowerShell 5.0-tól kezdődően a Get-ItemPropertyValue parancsmag csak a megadott tulajdonság értékét adja vissza.

Get-ItemPropertyValue -Path HKLM:\SOFTWARE\Microsoft\Wbem -Name BUILD
17134.1

Az ebben a szakaszban használt parancsmagokkal kapcsolatos további információkért tekintse meg az alábbi cikkeket.

Beállításkulcs értékeinek módosítása

A Set-ItemProperty parancsmag beállítja a beállításkulcsok attribútumait. Az alábbi példa a nyomtatásisor-kezelő szolgáltatás indítási típusának manuálisra történő módosítására szolgál Set-ItemProperty . A példa a StartType-ot automatikusramódosítja a Set-Service parancsmag használatával.

Get-Service spooler | Select-Object Name, StartMode
Name    StartType
----    ---------
spooler Automatic
$path = "HKLM:\SYSTEM\CurrentControlSet\Services\Spooler\"
Set-ItemProperty -Path $path -Name Start -Value 3
Get-Service spooler | Select-Object Name, StartMode
Name    StartType
----    ---------
spooler    Manual
Set-Service -Name Spooler -StartupType Automatic

Minden beállításkulcs alapértelmezett értékkel rendelkezik. A beállításkulcs alapértelmezett értékét módosíthatja a következővel: Set-Item vagy Set-ItemProperty.

Set-ItemProperty -Path HKLM:\SOFTWARE\Contoso -Name "(default)" -Value "one"
Set-Item -Path HKLM:\SOFTWARE\Contoso -Value "two"

Az ebben a szakaszban használt parancsmagokkal kapcsolatos további információkért tekintse meg az alábbi cikkeket.

Beállításkulcsok és értékek létrehozása

A New-Item parancsmag létrehoz egy ön által megadott névvel rendelkező beállításkulcsokat. Használhatja a mkdir függvényt is, amely belsőleg hívja meg a New-Item parancsmagot.

mkdir ContosoCompany
    Hive: HKEY_LOCAL_MACHINE\SOFTWARE

Name                           Property
----                           --------
ContosoCompany

A New-ItemProperty parancsmaggal értékeket hozhat létre egy ön által megadott beállításkulcsban. Az alábbi példa egy új DWORD-értéket hoz létre a ContosoCompany beállításkulcson.

$path = "HKLM:\SOFTWARE\ContosoCompany"
New-ItemProperty -Path $path -Name Test -Type DWORD -Value 1

Feljegyzés

Tekintse át a jelen cikkben szereplő dinamikus paraméterek szakaszt az egyéb engedélyezett típusértékek esetében.

A parancsmagok részletes használatáról a New-ItemProperty című témakörben olvashat.

Beállításkulcsok és értékek másolása

A beállításjegyzék-szolgáltatóban használja a parancsmagot, amely a Copy-Item beállításkulcsokat és az értékeket másolja. A parancsmaggal csak a Copy-ItemProperty beállításjegyzék értékeit másolhatja. A következő parancs a "Contoso" beállításkulcsot és annak tulajdonságait a megadott helyre másolja : "HKLM:\Software\Fabrikam".

Copy-Item létrehozza a célkulcsot, ha az nem létezik. Ha a célkulcs létezik, Copy-Item a célkulcs gyermekelemeként (alkulcsaként) létrehozza a forráskulcs másolatát.

Copy-Item -Path  HKLM:\Software\Contoso -Destination HKLM:\Software\Fabrikam

A következő parancs a Copy-ItemProperty parancsmaggal másolja a "Kiszolgáló" értéket a "Contoso" kulcsból a "Fabrikam" kulcsba.

$source = "HKLM:\SOFTWARE\Contoso"
$dest = "HKLM:\SOFTWARE\Fabrikam"
Copy-ItemProperty -Path $source -Destination $dest -Name Server

Az ebben a szakaszban használt parancsmagokkal kapcsolatos további információkért tekintse meg az alábbi cikkeket.

Beállításkulcsok és értékek áthelyezése

A Move-Item parancsmagok úgy Move-ItemProperty viselkednek, mint a "Másolás" megfelelőik. Ha a cél létezik, Move-Item a forráskulcsot a célkulcs alá helyezi. Ha a célkulcs nem létezik, a forráskulcs át lesz helyezve a célútvonalra.

A következő parancs áthelyezi a "Contoso" billentyűt az elérési útra HKLM:\SOFTWARE\Fabrikam.

Move-Item -Path HKLM:\SOFTWARE\Contoso -Destination HKLM:\SOFTWARE\Fabrikam

Ez a parancs az összes tulajdonságot áthelyezi a HKLM:\SOFTWARE\ContosoCompany következőre HKLM:\SOFTWARE\Fabrikam: .

$source = "HKLM:\SOFTWARE\Contoso"
$dest = "HKLM:\SOFTWARE\Fabrikam"
Move-ItemProperty -Path $source -Destination $dest -Name *

Az ebben a szakaszban használt parancsmagokkal kapcsolatos további információkért tekintse meg az alábbi cikkeket.

Beállításkulcsok és értékek átnevezése

A beállításkulcsokat és értékeket ugyanúgy átnevezheti, mint a fájlokat és mappákat. Rename-Item átnevezi a beállításkulcsokat, míg a Rename-ItemProperty beállításjegyzék értékeit.

$path = "HKLM:\SOFTWARE\Contoso"
Rename-ItemProperty -Path $path -Name ContosoTest -NewName FabrikamTest
Rename-Item -Path $path -NewName Fabrikam

Biztonsági leírók módosítása

A beállításkulcsokhoz való hozzáférést a parancsmagok és Set-Acl a Get-Acl parancsmagok használatával korlátozhatja. Az alábbi példa egy új, teljes hozzáféréssel rendelkező felhasználót ad hozzá a HKLM:\SOFTWARE\Contoso beállításkulcshoz.

$acl = Get-Acl -Path HKLM:\SOFTWARE\Contoso
$rule = New-Object System.Security.AccessControl.RegistryAccessRule `
("CONTOSO\jsmith", "FullControl", "Allow")
$acl.SetAccessRule($rule)
$acl | Set-Acl -Path HKLM:\SOFTWARE\Contoso

További példákért és parancsmagok használati adataiért tekintse meg az alábbi cikkeket.

Beállításkulcsok és -értékek eltávolítása és törlése

A tartalmazott elemeket a használatával Remove-Itemtávolíthatja el, de a rendszer kérni fogja, hogy erősítse meg az eltávolítást, ha az elem tartalmaz-e bármi mást. Az alábbi példa egy kulcs HKLM:\SOFTWARE\Contosotörlését kísérli meg.

dir HKLM:\SOFTWARE\Contoso\
    Hive: HKEY_LOCAL_MACHINE\SOFTWARE\Contoso

Name                           Property
----                           --------
ChildKey
Remove-Item -Path HKLM:\SOFTWARE\Contoso
Confirm
The item at HKLM:\SOFTWARE\Contoso has children and the -Recurse
parameter was not specified. If you continue, all children will be removed
with the item. Are you sure you want to continue?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help
(default is "Y"):

Ha a tartalmazott elemeket kérés nélkül szeretné törölni, adja meg a paramétert -Recurse .

Remove-Item -Path HKLM:\SOFTWARE\Contoso -Recurse

Ha az összes elemet HKLM:\SOFTWARE\Contoso el szeretné távolítani, de magát nem HKLM:\SOFTWARE\Contoso , használjon egy záró fordított perjelet \ , amelyet helyettesítő karakter követ.

Remove-Item -Path HKLM:\SOFTWARE\Contoso\* -Recurse

Ez a parancs törli a "ContosoTest" beállításjegyzék-értéket a HKLM:\SOFTWARE\Contoso beállításkulcsból.

Remove-ItemProperty -Path HKLM:\SOFTWARE\Contoso -Name ContosoTest

Clear-Item Törli egy kulcs összes beállításjegyzék-értékét. Az alábbi példa az összes értéket törli a HKLM:\SOFTWARE\Contoso beállításkulcsból. Ha csak egy adott tulajdonságot szeretne törölni, használja a következőt Clear-ItemProperty: .

Get-Item .\Contoso\
    Hive: HKEY_LOCAL_MACHINE\SOFTWARE

Name           Property
----           --------
Contoso        Server     : {a, b, c}
               HereString : {This is text which contains
               newlines. It also contains "quoted" strings}
               (default)  : 1
Clear-Item .\Contoso\
Get-Item .\Contoso\
    Hive: HKEY_LOCAL_MACHINE\SOFTWARE

Name                           Property
----                           --------
Contoso

További példákért és parancsmagok használati adataiért tekintse meg az alábbi cikkeket.

Dinamikus paraméterek

A dinamikus paraméterek olyan parancsmagparaméterek, amelyeket egy PowerShell-szolgáltató ad hozzá, és csak akkor érhetők el, ha a parancsmagot a szolgáltató által engedélyezett meghajtón használják.

Írja be a <Microsoft.Win32.RegistryValueKind parancsot>

Létrehozza vagy módosítja egy beállításjegyzék-érték adattípusát. Az alapértelmezett érték ( String REG_SZ).

Ez a paraméter a Set-ItemProperty parancsmagon tervezett módon működik. A beállításjegyzék-meghajtók Set-Item parancsmagján is elérhető, de nincs hatása.

Érték Leírás
String Null értékű sztringet ad meg. REG_SZ értékekhez használatos.
ExpandString Null értékű sztringet ad meg, amely nem kibontott karakterláncot tartalmaz
azokra a környezeti változókra mutató hivatkozásokra, amelyek akkor lesznek kibontva, ha
a rendszer lekéri az értéket. REG_EXPAND_SZ értékekhez használatos.
Binary Bináris adatokat határoz meg bármilyen formában. REG_BINARY értékekhez használatos.
DWord 32 bites bináris számot ad meg. REG_DWORD értékekhez használatos.
MultiString Null értékű sztringek tömbjének megadása
két null karakter. REG_MULTI_SZ értékekhez használatos.
QWord 64 bites bináris számot ad meg. REG_QWORD értékekhez használatos.
Unknown Nem támogatott beállításjegyzék-adattípust jelez, például
REG_RESOURCE_LIST értékek.

Támogatott parancsmagok

A folyamat használata

A szolgáltatói parancsmagok elfogadják a folyamatbemenetet. A folyamat használatával egyszerűsítheti a feladatokat, ha szolgáltatói adatokat küld egy parancsmagból egy másik szolgáltatói parancsmagnak. A folyamat szolgáltatói parancsmagokkal való használatával kapcsolatos további információkért tekintse meg a cikkben található parancsmag-hivatkozásokat.

Segítség kérése

A Windows PowerShell 3.0-tól kezdve testre szabott súgótémaköröket kaphat a szolgáltatói parancsmagokhoz, amelyek ismertetik, hogyan viselkednek ezek a parancsmagok a fájlrendszer-meghajtókon.

A fájlrendszer-meghajtóhoz testre szabott súgótémakörök lekéréséhez futtasson egy parancsot egy Get-Help fájlrendszer-meghajtón, vagy a Path paraméterrel adjon meg egy fájlrendszer-meghajtót.

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path HKLM:

Lásd még