about_Providers
Kısa açıklama
PowerShell sağlayıcılarının, komut satırından kolayca erişilmeyecek verilere ve bileşenlere nasıl erişim sağladığını açıklar. Veriler, dosya sistemi sürücüsüne benzeyen tutarlı bir biçimde sunulur.
Uzun açıklama
PowerShell sağlayıcıları, daha kolay görüntüleme ve yönetim için özelleştirilmiş veri depolarına erişim sağlayan .NET programlarıdır. Veriler bir sürücüde görünür ve verilere sabit disk sürücüsünde olduğu gibi bir yolda erişebilirsiniz. Sağlayıcının desteklediği yerleşik cmdlet'lerden herhangi birini kullanarak sağlayıcı sürücüsündeki verileri yönetebilirsiniz. Ayrıca, özellikle veriler için tasarlanmış özel cmdlet'leri kullanabilirsiniz.
Sağlayıcılar, yerleşik cmdlet'lere dinamik parametreler de ekleyebilir. Bu parametreler yalnızca sağlayıcı verileriyle cmdlet'ini kullandığınızda kullanılabilir.
Yerleşik sağlayıcılar
PowerShell, farklı veri deposu türlerine erişmek için kullanabileceğiniz bir dizi yerleşik sağlayıcı içerir.
Sağlayıcı | Sürücü(ler) | OutputType |
---|---|---|
Diğer ad | Diğer ad: | System.Management.Automation.AliasInfo |
Sertifika | Cert: | Microsoft.PowerShell.Commands.X509StoreLocation |
System.Security.Cryptography.X509Certificates.X509Certificate2 | ||
Ortam | Env: | System.Collections.DictionaryEntry |
DosyaSistemi | C: (*) | System.IO.FileInfo |
System.IO.DirectoryInfo | ||
İşlev | Işlev: | System.Management.Automation.FunctionInfo |
Kayıt Defteri | HKLM: HKCU: | Microsoft.Win32.RegistryKey |
Değişken | Değişken: | System.Management.Automation.PSVariable |
Wsman | Wsman: | Microsoft.WSMan.Management.WSManConfigContainerElement |
(*) FileSystem sürücüleri her sistemde değişiklik gösterir.
Ayrıca kendi PowerShell sağlayıcılarınızı oluşturabilir ve başkalarının geliştirdiği sağlayıcıları yükleyebilirsiniz. Oturumunuzda kullanılabilen sağlayıcıları listelemek için şunu yazın:
Get-PSProvider
Not
Sertifika, Kayıt Defteri ve WSMan sağlayıcıları yalnızca Windows platformunda kullanılabilir.
Sağlayıcıları yükleme ve kaldırma
Sağlayıcılar genellikle PowerShell modülleri aracılığıyla yüklenir. Modülü içeri aktarmak sağlayıcıyı oturumunuza yükler. Yerleşik sağlayıcıları kaldıramazsınız. Diğer modüller tarafından yüklenen sağlayıcıları kaldırabilirsiniz.
Cmdlet'ini kullanarak Remove-Module
bir sağlayıcıyı geçerli oturumdan kaldırabilirsiniz. Bu cmdlet sağlayıcıyı kaldırmaz, ancak sağlayıcıyı oturumda kullanılamaz hale getirir.
Geçerli oturumdan Remove-PSDrive
herhangi bir sürücüyü kaldırmak için cmdlet'ini de kullanabilirsiniz. Sürücüdeki bu veriler etkilenmez, ancak sürücü artık bu oturumda kullanılamaz.
Sağlayıcıları görüntüleme
Bilgisayarınızda PowerShell sağlayıcılarını görüntülemek için şunu yazın:
Get-PSProvider
Çıkışta yerleşik sağlayıcılar ve oturuma eklediğiniz sağlayıcılar listelenir.
Sağlayıcı cmdlet'leri
Aşağıdaki cmdlet'ler herhangi bir sağlayıcı tarafından kullanıma sunulan verilerle çalışacak şekilde tasarlanmıştır. Aynı cmdlet'leri, sağlayıcıların kullanıma sunmaları için farklı veri türlerini yönetmek için aynı şekilde kullanabilirsiniz. Bir sağlayıcının verilerini yönetmeyi öğrendikten sonra, herhangi bir sağlayıcının verileriyle aynı yordamları kullanabilirsiniz.
Örneğin, New-Item
cmdlet yeni bir öğe oluşturur. C:
FileSystem sağlayıcısı tarafından desteklenen sürücüde, yeni bir dosya veya klasör oluşturmak için kullanabilirsinizNew-Item
. Kayıt defteri sağlayıcısı tarafından desteklenen sürücülerde, yeni bir kayıt defteri anahtarı oluşturmak için kullanabilirsinizNew-Item
. Sürücüde Alias:
, yeni bir diğer ad oluşturmak için kullanabilirsiniz New-Item
.
Aşağıdaki cmdlet'lerden herhangi biri hakkında ayrıntılı bilgi için şunu yazın:
Get-Help <cmdlet-name> -Detailed
ChildItem cmdlet'leri
İçerik Cmdlet'leri
Öğe Cmdlet'leri
ItemProperty cmdlet'leri
- Clear-ItemProperty
- Copy-ItemProperty
- Get-ItemProperty
- Move-ItemProperty
- New-ItemProperty
- Remove-ItemProperty
- Rename-ItemProperty
- Set-ItemProperty
Konum cmdlet'leri
Yol cmdlet'leri
PSDrive cmdlet'leri
PSProvider Cmdlet'leri
Sağlayıcı verilerini görüntüleme
Sağlayıcının birincil avantajı, verilerini tanıdık ve tutarlı bir şekilde kullanıma sunmadır. Veri sunumu modeli bir dosya sistemi sürücüsüdür.
Sağlayıcı, veri deposundaki öğeleri bir dosya sistemindeki verilermiş gibi görüntülemenize, gezinmenize ve değiştirmenize olanak tanır. Veri deposuna, desteklediği sürücünün adıyla erişilir.
Sürücü, cmdlet'in Get-PSProvider
varsayılan görüntüsünde listelenir, ancak cmdlet'ini Get-PSDrive
kullanarak sağlayıcı sürücüsü hakkında bilgi alabilirsiniz. Örneğin, İşlev: sürücüsünün tüm özelliklerini almak için şunu yazın:
Get-PSDrive Function | Format-List *
Bir sağlayıcı sürücüsündeki verileri bir dosya sistemi sürücüsünde olduğu gibi görüntüleyebilir ve taşıyabilirsiniz.
Sağlayıcı sürücüsünün içeriğini görüntülemek için Get-Item veya Get-ChildItem cmdlet'lerini kullanın. Sürücü adını ve ardından iki nokta üst üste (:)) yazın. Örneğin, Diğer Ad: sürücüsünün içeriğini görüntülemek için şunu yazın:
Get-Item alias:
Sürücü adını yola ekleyerek başka bir sürücüdeki herhangi bir sürücüdeki verileri görüntüleyebilir ve yönetebilirsiniz. Örneğin, HKLM\Software kayıt defteri anahtarını başka bir sürücüden HKLM: sürücüsünde görüntülemek için şunu yazın:
Get-ChildItem HKLM:\SOFTWARE\
Sürücüyü açmak için Set-Location cmdlet'ini kullanın. Sürücü yolunu belirtirken iki nokta üst üste seçeneğini unutmayın. Örneğin, konumunuzu Cert: sürücüsünün kök dizinine değiştirmek için şunu yazın:
Set-Location cert:
Ardından, Cert: sürücüsünün içeriğini görüntülemek için şunu yazın:
Get-ChildItem
Hiyerarşik verilerde gezinme
Bir sabit disk sürücüsünde olduğu gibi sağlayıcı sürücüsünde de gezinebilirsiniz.
Veriler öğeler içindeki öğeler hiyerarşisinde düzenlenmişse, alt öğeyi belirtmek için ters eğik çizgi (\
) kullanın. Şu biçimi kullanın:
drive:\location\child-location\...
Örneğin, konumunuzu HKLM\Software kayıt defteri anahtarıyla değiştirmek için aşağıdaki gibi bir Set-Location komutu yazın:
Set-Location HKLM:\SOFTWARE\
Tam addaki herhangi bir öğe boşluk içeriyorsa, adı çift tırnak içine almanız gerekir ("
). Aşağıdaki örnekte boşluk içeren tam yol gösterilmektedir.
"C:\Program Files\Internet Explorer\iexplore.exe"
Konumlara göreli başvurular da kullanabilirsiniz. Nokta (.
) geçerli konumu temsil eder. Örneğin, kayıt defteri anahtarındaysanız HKLM:\Software\Microsoft
ve anahtardaki kayıt defteri alt anahtarlarını HKLM:\Software\Microsoft\PowerShell
listelemek istiyorsanız, aşağıdaki komutu yazın:
Get-ChildItem .\PowerShell
Ayrıca, çift nokta (..
) geçerli konumunuzun hemen üstündeki dizine veya kapsayıcıya başvurur. Sağlayıcı hiyerarşisinde gezinmek için çift nokta (..
) kullanabilirsiniz.
PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\> cd ..\..\LanmanWorkstation\Parameters
PS HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters>
Sağlayıcı Giriş Sayfası
Sağlayıcıların bir Giriş konumu da vardır. Bu konum sağlayıcı tarafından yedeklenen herkes PSDrives
tarafından paylaşılır. Sağlayıcının Home özelliği görüntülenerek alınabilir.
Get-PSProvider | Format-Table Name, Home
Name Home
---- ----
Registry
Alias
Environment
FileSystem C:\Users\username
Function
Variable
Certificate
FileSystem sağlayıcısı, Home için varsayılan değere sahip olan tek sağlayıcıdır. ile aynı değerdir $Home
. Daha fazla bilgi için bkz. about_Automatic_Variables.
Geçerli oturum için bir sağlayıcının Giriş dizinini özelliğini kullanarak ayarlayabilirsiniz.
(Get-PSProvider FileSystem).Home = "C:\"
~
karakteri sağlayıcının giriş dizinini temsil etmek için kullanılabilir.
Sağlayıcının Giriş konumu ayarlı değilse bir hata görürsünüz.
Cert:\> Set-Location ~
Set-Location : Home location for this provider isn't set. To set the home
location, call "(get-psprovider 'Certificate').Home = 'path'".
At line:1 char:1
+ Set-Location ~
+ ~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Set-Location],
PSInvalidOperationException
...
Dinamik parametreleri bulma
Dinamik parametreler, bir sağlayıcı tarafından cmdlet'e eklenen cmdlet parametreleridir. Bu parametreler yalnızca cmdlet'i bunları ekleyen sağlayıcıyla kullanıldığında kullanılabilir.
Örneğin, Cert:
sürücü ve Get-ChildItem
cmdlet'lerine Get-Item
CodeSigningCert parametresini ekler. Bu parametreyi yalnızca sürücüde Cert:
veya Get-ChildItem
kullanırken Get-Item
kullanabilirsiniz.
Sağlayıcının desteklediği dinamik parametrelerin listesi için sağlayıcının Yardım dosyasına bakın. Şunu yazın:
Get-Help <provider-name>
Örnek:
Get-Help certificate
Sağlayıcılar hakkında bilgi edinme
Tüm sağlayıcı verileri sürücülerde görünse ve bunlar arasında gezinmek için aynı yöntemleri kullansanız da, benzerlik orada durur. Sağlayıcının kullanıma sunulan veri depoları, Active Directory konumları ve Microsoft Exchange Server posta kutuları kadar çeşitli olabilir.
Tek tek PowerShell sağlayıcıları hakkında bilgi için şunu yazın:
Get-Help <ProviderName>
Örnek:
Get-Help registry
Sağlayıcılarla ilgili Yardım konularının listesi için şunu yazın:
Get-Help * -Category Provider