Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sağlayıcı adı
Kayıt defteri
Drives
HKLM:, HKCU:
Capabilities
ShouldProcessUseTransactions
Kısa açıklama
PowerShell'de kayıt defteri anahtarları, girdileri ve değerlerine erişim sağlar.
Ayrıntılı açıklama
Bu bilgiler yalnızca Windows üzerinde çalışan PowerShell için geçerlidir.
PowerShell Kayıt Defteri sağlayıcısı, PowerShell'de kayıt defteri anahtarlarını, girdilerini ve değerlerini almanıza, eklemenize, değiştirmenize, temizlemenize ve silmenize olanak tanır.
Kayıt Defteri sürücüleri, bilgisayarınızdaki kayıt defteri anahtarlarını ve alt anahtarları içeren hiyerarşik bir ad alanıdır. Kayıt defteri girdileri ve değerleri bu hiyerarşinin bileşenleri değildir. Bunun yerine, anahtarların her birinin özellikleridir.
Kayıt Defteri sağlayıcısı aşağıdaki cmdlet'leri destekler:
- Get-Location
- Konum Ayarlama
- Öğe al
- Get-ChildItem
- Invoke-Item
- Öğe Taşı
- Yeni Öğe
- Öğe kaldırma
- Clear-ItemProperty
- Get-ItemProperty
- New-ItemProperty
- Remove-ItemProperty
- Set-ItemProperty
- Get-Acl
- Set-Acl
Bu sağlayıcı tarafından kullanıma sunulan türler
Kayıt Defteri sağlayıcısı kayıt defteri verilerini iki türden birinde döndürür:
- Kayıt defteri anahtarları için Microsoft.Win32.RegistryKey
- Kayıt defteri değerleri için PSCustomObject
Kayıt defteri sürücülerde gezinme
Kayıt Defteri sağlayıcısı, veri deposunu iki varsayılan sürücü olarak kullanıma sunar.
-
HKLM:HKEY_LOCAL_MACHINEkayıt defteri kovanı ile eşler -
HKCU:HKEY_CURRENT_USERkayıt defteri kovanı ile eşler
Kayıt defteriyle çalışmak için aşağıdaki komutu kullanarak konumunuzu HKLM: sürücüsüne değiştirebilirsiniz.
Set-Location HKLM:
Bir dosya sistemi sürücüsüne dönmek için sürücü adını yazın. Örneğin, şunu yazın:
Set-Location C:
Kayıt Defteri sağlayıcısıyla başka bir PowerShell sürücüsünden de çalışabilirsiniz. Başka bir konumdan kayıt defteri anahtarına başvurmak için yoldaki sürücü adını (HKLM:, HKCU:) kullanın.
\ sürücüsünün düzeyini belirtmek için ters eğik çizgi (/) veya eğik çizgi () kullanın.
PS C:\> cd HKLM:\Software
Not
PowerShell, sağlayıcı yollarıyla çalışmak için tanıdık bir yol sağlamak için diğer adları kullanır.
dir ve ls gibi komutlar, Get-ChildItem için diğer adlardır cdKonum Ayarlaiçin bir diğer addır ve pwdGet-Locationiçin bir diğer addır.
Bu son örnekte, Kayıt Defteri sağlayıcısında gezinmek için kullanabileceğiniz başka bir yol söz dizimi gösterilmektedir. Bu söz dizimi, sağlayıcı adını ve ardından iki iki nokta üst üste ::kullanır. Bu söz dizimi, HKLMeşlenen sürücü adı yerine tam HIVE adını kullanmanıza olanak tanır.
cd "Registry::HKEY_LOCAL_MACHINE\Software"
Kayıt defteri anahtarlarının içeriğini görüntüleme
Kayıt defteri anahtarlara, alt anahtarlara ve girdilere ayrılır. Kayıt defteri yapısı hakkında daha fazla bilgi için bkz. Kayıt Defteri yapısı.
Kayıt Defteri sürücüsünde her anahtar bir kapsayıcıdır. Bir anahtar, istediğiniz sayıda anahtar içerebilir. Üst anahtarı olan kayıt defteri anahtarına alt anahtar adı verilir.
Get-ChildItem kullanarak kayıt defteri anahtarlarını görüntüleyebilir ve Set-Location bir anahtar yoluna gidebilirsiniz.
Kayıt defteri değerleri, bir kayıt defteri anahtarının öznitelikleridir. Kayıt Defteri sürücüsünde bunlara Öğe Özellikleriadı verilir. Kayıt defteri anahtarı hem alt anahtarlara hem de öğe özelliklerine sahip olabilir.
Bu örnekte, Get-Item ile Get-ChildItem arasındaki fark gösterilir. "Biriktirici" kayıt defteri anahtarında Get-Item kullandığınızda, özelliklerini görüntüleyebilirsiniz.
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
Her kayıt defteri anahtarının alt anahtarları da olabilir. Kayıt defteri anahtarında Get-Item kullandığınızda alt anahtarlar görüntülenmez.
Get-ChildItem cmdlet'i her alt anahtarın özellikleri de dahil olmak üzere "Biriktirici" anahtarının alt anahtarlarını gösterir.
Get-ChildItemkullanılırken üst anahtar özellikleri gösterilmez.
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...}
Get-Item cmdlet'i geçerli konumda da kullanılabilir. Aşağıdaki örnek "Biriktirici" kayıt defteri anahtarına gider ve öğe özelliklerini alır.
Nokta . geçerli konumu belirtmek için kullanılır.
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
...
Bu bölümde ele alınan cmdlet'ler hakkında daha fazla bilgi için aşağıdaki makalelere bakın.
Get-Item-Get-ChildItem -
Kayıt defteri anahtarı değerlerini görüntüleme
Kayıt defteri anahtarı değerleri, her kayıt defteri anahtarının özellikleri olarak depolanır.
Get-ItemProperty cmdlet'i, belirttiğiniz adı kullanarak kayıt defteri anahtarı özelliklerini görüntüler. Sonuç, belirttiğiniz özellikleri içeren bir PSCustomObject.
Aşağıdaki örnek, tüm özellikleri görüntülemek için Get-ItemProperty cmdlet'ini kullanır. Sonuçta elde edilen nesneyi bir değişkende depolamak, istenen özellik değerine erişmenizi sağlar.
$p = Get-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Spooler
$p.DependOnService
RPCSS
http
-Name parametresi için bir değer belirtilmesi, belirttiğiniz özellikleri seçer ve PSCustomObjectdöndürür. Aşağıdaki örnekte, -Name parametresini kullandığınızda çıkış farkı gösterilmektedir.
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
PowerShell 5.0'dan başlayarak, Get-ItemPropertyValue cmdlet'i yalnızca belirttiğiniz özelliğin değerini döndürür.
Get-ItemPropertyValue -Path HKLM:\SOFTWARE\Microsoft\Wbem -Name BUILD
17134.1
Bu bölümde kullanılan cmdlet'ler hakkında daha fazla bilgi için aşağıdaki makalelere bakın.
Kayıt defteri anahtarı değerlerini değiştirme
Set-ItemProperty cmdlet'i bir kayıt defteri anahtarıyla ilişkili kayıt defteri değerlerini ayarlar. Aşağıdaki örnek, biriktirici hizmeti başlangıç türünü el ile olarak değiştirmek için Set-ItemProperty kullanır. Örnek, cmdlet'ini kullanarak AutomaticSet-Service olarak değiştirir.
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
Her kayıt defteri anahtarının varsayılan değeri vardır.
default veya Set-Itemile kayıt defteri anahtarının Set-ItemProperty değerini değiştirebilirsiniz.
Set-ItemProperty -Path HKLM:\SOFTWARE\Contoso -Name "(default)" -Value "one"
Set-Item -Path HKLM:\SOFTWARE\Contoso -Value "two"
Bu bölümde kullanılan cmdlet'ler hakkında daha fazla bilgi için aşağıdaki makalelere bakın.
- Öğe Ayarla
- Set-ItemProperty
Kayıt defteri anahtarları ve değerleri oluşturma
New-Item cmdlet'i, sağladığınız bir adla yeni kayıt defteri anahtarları oluşturur.
mkdir cmdlet'ini dahili olarak çağıran New-Item işlevini de kullanabilirsiniz.
mkdir ContosoCompany
Hive: HKEY_LOCAL_MACHINE\SOFTWARE
Name Property
---- --------
ContosoCompany
Belirttiğiniz kayıt defteri anahtarında değerler oluşturmak için New-ItemProperty cmdlet'ini kullanabilirsiniz. Aşağıdaki örnek, ContosoCompany kayıt defteri anahtarında yeni bir DWORD değeri oluşturur.
$path = "HKLM:\SOFTWARE\ContosoCompany"
New-ItemProperty -Path $path -Name Test -Type DWord -Value 1
Not
İzin verilen diğer tür değerleri için bu makaledeki dinamik parametreler bölümünü gözden geçirin.
Ayrıntılı cmdlet kullanımı için bkz. New-ItemProperty .
Kayıt defteri anahtarlarını ve değerlerini kopyalama
Kayıt Defteri sağlayıcısında Copy-Item cmdlet'ini kullanarak kayıt defteri anahtarlarını ve değerlerini kopyalar. Yalnızca kayıt defteri değerlerini kopyalamak için Copy-ItemProperty cmdlet'ini kullanın.
Aşağıdaki komut , "Contoso" kayıt defteri anahtarını ve özelliklerini HKLM:\Software\Fabrikambelirtilen konuma kopyalar.
Copy-Item, hedef anahtar yoksa oluşturur. Hedef anahtar varsa, Copy-Item hedef anahtarın alt öğesi (alt anahtar) olarak kaynak anahtarın bir kopyasını oluşturur.
Copy-Item -Path HKLM:\Software\Contoso -Destination HKLM:\Software\Fabrikam
Aşağıdaki komut, "Contoso" anahtarındaki "Sunucu" değerini "Fabrikam" anahtarına kopyalamak için Copy-ItemProperty cmdlet'ini kullanır.
$source = "HKLM:\SOFTWARE\Contoso"
$dest = "HKLM:\SOFTWARE\Fabrikam"
Copy-ItemProperty -Path $source -Destination $dest -Name Server
Bu bölümde kullanılan cmdlet'ler hakkında daha fazla bilgi için aşağıdaki makalelere bakın.
- Öğe Kopyalama
- Copy-ItemProperty
Kayıt defteri anahtarlarını ve değerlerini taşıma
Move-Item ve Move-ItemProperty cmdlet'leri, "Kopyala" karşılık gelenleri gibi davranır. Hedef varsa, Move-Item kaynak anahtarı hedef anahtarın altına taşır. Hedef anahtar yoksa, kaynak anahtar hedef yola taşınır.
Aşağıdaki komut , "Contoso" anahtarını HKLM:\SOFTWARE\Fabrikamyoluna taşır.
Move-Item -Path HKLM:\SOFTWARE\Contoso -Destination HKLM:\SOFTWARE\Fabrikam
Bu komut tüm özellikleri HKLM:\SOFTWARE\ContosoCompanyHKLM:\SOFTWARE\Fabrikamtaşır.
$source = "HKLM:\SOFTWARE\Contoso"
$dest = "HKLM:\SOFTWARE\Fabrikam"
Move-ItemProperty -Path $source -Destination $dest -Name *
Bu bölümde kullanılan cmdlet'ler hakkında daha fazla bilgi için aşağıdaki makalelere bakın.
Kayıt defteri anahtarlarını ve değerlerini yeniden adlandırma
Kayıt defteri anahtarlarını ve değerlerini dosya ve klasörler gibi yeniden adlandırabilirsiniz.
Rename-Item kayıt defteri anahtarlarını yeniden adlandırırken Rename-ItemProperty kayıt defteri değerlerini yeniden adlandırır.
$path = "HKLM:\SOFTWARE\Contoso"
Rename-ItemProperty -Path $path -Name ContosoTest -NewName FabrikamTest
Rename-Item -Path $path -NewName Fabrikam
Güvenlik tanımlayıcılarını değiştirme
Get-Acl ve Set-Acl cmdlet'lerini kullanarak kayıt defteri anahtarlarına erişimi kısıtlayabilirsiniz. Aşağıdaki örnek, HKLM:\SOFTWARE\Contoso kayıt defteri anahtarına tam denetime sahip yeni bir kullanıcı ekler.
$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
Daha fazla örnek ve cmdlet kullanım ayrıntıları için aşağıdaki makalelere bakın.
- Get-Acl
- Set-Acl
Kayıt defteri anahtarlarını ve değerlerini kaldırma ve temizleme
Remove-Itemkullanarak kapsanan öğeleri kaldırabilirsiniz. Öğede başka bir şey varsa kaldırma işlemini onaylamanız istenir. Aşağıdaki örnek HKLM:\SOFTWARE\Contosobir anahtarı silmeyi dener.
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 wasn't 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"):
İçerilen öğeleri sormadan silmek için -Recurse parametresini belirtin.
Remove-Item -Path HKLM:\SOFTWARE\Contoso -Recurse
HKLM:\SOFTWARE\Contoso içindeki tüm öğeleri kaldırmak istediyseniz ancak kendisini HKLM:\SOFTWARE\Contoso istemiyorsanız, sonunda ters eğik çizgi \ ve ardından joker karakter kullanın.
Remove-Item -Path HKLM:\SOFTWARE\Contoso\* -Recurse
Bu komut HKLM:\SOFTWARE\Contoso kayıt defteri anahtarından "ContosoTest" kayıt defteri değerini siler.
Remove-ItemProperty -Path HKLM:\SOFTWARE\Contoso -Name ContosoTest
Clear-Item bir anahtarın tüm kayıt defteri değerlerini temizler. Aşağıdaki örnek, HKLM:\SOFTWARE\Contoso kayıt defteri anahtarındaki tüm değerleri temizler. Yalnızca belirli bir özelliği temizlemek için Clear-ItemPropertykullanın.
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
Daha fazla örnek ve cmdlet kullanım ayrıntıları için aşağıdaki makalelere bakın.
- Öğe temizle
- Clear-ItemProperty
- Öğe kaldırma
- Remove-ItemProperty
Dinamik parametreler
Dinamik parametreler, bir PowerShell sağlayıcısı tarafından eklenen cmdlet parametreleridir ve yalnızca cmdlet sağlayıcı etkin sürücüde kullanıldığında kullanılabilir.
Microsoft.Win32.RegistryValueKind<>yazın
Kayıt defteri değerinin veri türünü oluşturur veya değiştirir. Varsayılan değer String (REG_SZ).
Bu parametre, Set-ItemProperty cmdlet'inde tasarlandığı gibi çalışır. Kayıt defteri sürücülerindeki Set-Item cmdlet'inde de kullanılabilir, ancak hiçbir etkisi yoktur.
-
String- REG_SZ değerler için kullanılır.[System.String]parametresine bir nesnesi geçirin. -
ExpandString- REG_EXPAND_SZ değerler için kullanılır.[System.String]parametresine bir nesnesi geçirin. Dize, değer alındığında genişletilen ortam değişkenlerine açıklanmamış başvurular içermelidir. -
Binary- REG_BINARY değerler için kullanılır.[System.Byte[]]parametresine bir nesnesi geçirin. -
DWord- REG_DWORD değerler için kullanılır.[System.Int32]parametresine bir nesnesi geçirin. -
MultiString- REG_MULTI_SZ değerler için kullanılır.[System.String[]]parametresine bir nesnesi geçirin. -
QWord- REG_QWORD değerler için kullanılır.[System.Int64]parametresine bir nesnesi geçirin. -
Unknown- REG_RESOURCE_LIST değerleri gibi desteklenmeyen bir kayıt defteri veri türünü gösterir.
İşlem hattını kullanma
Sağlayıcı cmdlet'leri işlem hattı girişini kabul eder. Bir cmdlet'ten başka bir sağlayıcı cmdlet'ine sağlayıcı verileri göndererek görevi basitleştirmek için işlem hattını kullanabilirsiniz. İşlem hattını sağlayıcı cmdlet'leriyle kullanma hakkında daha fazla bilgi edinmek için bu makalenin tamamında sağlanan cmdlet başvurularına bakın.
Yardım alma
Windows PowerShell 3.0'dan başlayarak, bu cmdlet'lerin bir dosya sistemi sürücüsünde nasıl davrandığını açıklayan sağlayıcı cmdlet'leri için özelleştirilmiş yardım konuları alabilirsiniz.
Dosya sistemi sürücüsü için özelleştirilmiş yardım konularını almak için, dosya sistemi sürücüsünde bir Get-Help komutu çalıştırın veya dosya sistemi sürücüsü belirtmek için Yol parametresini kullanın.
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path HKLM:
Ayrıca bakınız
PowerShell