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.
- Hely lekérése
- Beállítás helye
- Elem lekérése
- Get-ChildItem
- Meghívás-elem
- Elem áthelyezése
- Új elem
- Elem eltávolítása
- Clear-ItemProperty
- Get-ItemProperty
- New-ItemProperty
- Remove-ItemProperty
- Set-ItemProperty
- Get-Acl
- Set-Acl
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.
Navigálás a beállításjegyzék-meghajtókon
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 HKLM
helyett.
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-Item
Get-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-ChildItem
sorá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.
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-Item
tá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\Contoso
tö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
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: