Windows PowerShell Sağlayıcınızı Tasarlama
ürününüz veya yapılandırmanız, kullanıcının gezinmek veya taramak istediğini belirten bir veritabanı gibi bir dizi depolanmış veri içeriyorsa, bir Windows PowerShell sağlayıcısı uygulamanız gerekir. ayrıca, ürününüz çok düzeyli bir kapsayıcı olmasa bile bir kapsayıcı sağlıyorsa, bir Windows PowerShell sağlayıcısı uygulamak mantıklı olur. örneğin, fiil kopyalama, taşıma, yeniden adlandırma, yeni veya kaldırma cmdlet 'i ürün veya yapılandırma verilerinizde bir işlem olarak anlamlı olursa Windows PowerShell kapsayıcı sağlayıcısı uygulamak isteyebilirsiniz.
Windows PowerShell , Sağlayıcınızı belirleyen yollar
Windows PowerShell çalışma zamanı, uygun Windows PowerShell sağlayıcısına erişmek için Windows PowerShell yollar kullanır. Bir cmdlet bu yollardan birini belirttiğinde, çalışma zamanı, ilişkili veri deposuna erişmek için hangi sağlayıcıyı kullanacağınızı bilir. Bu yollar sürücü nitelikli yollar, sağlayıcı nitelikli yollar, sağlayıcı-doğrudan yollar ve sağlayıcı-iç yollar içerir. her Windows PowerShell sağlayıcısı bu yollardan bir veya daha fazlasını desteklemelidir.
Windows PowerShell yolları hakkında daha fazla bilgi için bkz. Windows PowerShell nasıl çalıştığını öğrenin.
Drive-Qualified yolu tanımlama
kullanıcının fiziksel sürücüde bulunan verilere erişmesine izin vermek için, Windows PowerShell sağlayıcınızın sürücü nitelikli bir yolu desteklemesi gerekir. Bu yol, sürücü adı ile başlar ve iki nokta üst üste gelir (:), örneğin, MyDrive: \ abc\bar.
Provider-Qualified yolu tanımlama
Windows PowerShell çalışma zamanının sağlayıcıyı başlatmasını ve uninitialize izin vermek için, Windows PowerShell sağlayıcınız sağlayıcı nitelikli bir yolu desteklemelidir. Örneğin, FileSystem:: \ \uncshare\abc\bar, Windows PowerShell tarafından belirtilen dosya sistemi sağlayıcısı için sağlayıcı nitelikli yoldur.
Provider-Direct yolu tanımlama
Windows PowerShell sağlayıcınıza uzaktan erişim sağlamak için, geçerli konum için doğrudan Windows PowerShell sağlayıcısına geçirmek üzere sağlayıcı-doğrudan yolunu desteklemelidir. örneğin, kayıt defteri Windows PowerShell sağlayıcısı \ \server\regkeypath öğesini sağlayıcı-doğrudan yolu olarak kullanabilir.
Provider-Internal yolu tanımlama
sağlayıcı cmdlet 'inin Windows PowerShell olmayan uygulama programlama arabirimlerini (apı) kullanarak verilere erişmesine izin vermek için, Windows PowerShell sağlayıcınız sağlayıcı-iç yolunu desteklemelidir. Bu yol, sağlayıcı nitelikli yoldaki "::" öğesinden sonra belirtilir. örneğin, dosya sistemi Windows PowerShell sağlayıcısı için sağlayıcı-iç yol \ \uncshare\abc\barşeklindedir.
Depolanan verileri değiştirme
Temel alınan veri deposunu değiştiren yöntemleri geçersiz kıldığınızda, her zaman bu yöntem tarafından değiştirilen öğenin en güncel sürümüyle System. Management. Automation. Provider. Cmdletprovider. Writeitemobject * yöntemini çağırın. Sağlayıcı altyapısı, Kullanıcı-geçiş parametresini belirttiğinde olduğu gibi, öğe nesnesinin ardışık düzene geçirilmesi gerekip gerekmediğini belirler. En güncel öğeyi almak maliyetli bir işlemdir (performans temelinde), aslında sonuçta elde edilen öğeyi yazmanız gerekip gerekmediğini öğrenmek için Context. passı özelliğini test edebilirsiniz.
Sağlayıcınız için bir temel sınıf seçin
Windows PowerShell, kendi Windows PowerShell sağlayıcınızı uygulamak için kullanabileceğiniz bir dizi temel sınıf sağlar. Sağlayıcı tasarlarken, gereksinimlerinize en uygun olan bu bölümde açıklanan temel sınıfı seçin.
her bir Windows PowerShell sağlayıcı temel sınıfı, bir dizi cmdlet 'i kullanılabilir hale getirir. Bu bölüm cmdlet 'leri açıklar, ancak parametrelerini tanımlamaz.
Windows PowerShell çalışma zamanı, oturum durumunu kullanarak,,, Get-Location
Set-Location
Pop-Location
ve cmdlet 'leri gibi bazı Windows PowerShell sağlayıcıları için kullanılabilir çeşitli konum cmdlet 'leri sağlar Push-Location
. Get-Help
Bu konum cmdlet 'leri hakkında bilgi edinmek için cmdlet 'ini kullanabilirsiniz.
CmdletProvider temel sınıfı
System. Management. Automation. Provider. cmdletprovider sınıfı temel bir Windows PowerShell sağlayıcıyı tanımlar. bu sınıf, sağlayıcı bildirimini destekler ve tüm Windows PowerShell sağlayıcıları tarafından kullanılabilen birçok özellik ve yöntem sağlar.
Sınıfı, Get-PSProvider
bir oturum için kullanılabilir tüm sağlayıcıları listelemek üzere cmdlet tarafından çağrılır.
Bu cmdlet 'in uygulanması oturum durumuna göre belirlenir.
Not
Windows PowerShell sağlayıcıları tüm Windows PowerShell dil kapsamları tarafından kullanılabilir.
DriveCmdletProvider temel sınıfı
System. Management. Automation. Provider. drivecmdletprovider sınıfı yeni sürücü eklemek, var olan sürücüleri kaldırmak ve varsayılan sürücüleri başlatmak için işlemleri destekleyen Windows PowerShell sürücü sağlayıcısını tanımlar. örneğin, Windows PowerShell tarafından belirtilen dosya sistemi sağlayıcısı, sabit sürücüler ve CD/DVD cihaz sürücüleri gibi bağlı olan tüm birimler için sürücüleri başlatır.
Bu sınıf System. Management. Automation. Provider. Cmdletprovider temel sınıfından türetilir. Aşağıdaki tabloda, bu sınıf tarafından kullanıma sunulan cmdlet 'ler listelenmektedir. Listelenenler buna ek olarak, Get-PSDrive
cmdlet (oturum durumu tarafından gösterilen) kullanılabilir sürücüleri almak için kullanılan ilgili bir cmdlet 'dir.
Cmdlet | Tanım |
---|---|
New-PSDrive |
Oturum için yeni bir sürücü oluşturur ve sürücü bilgilerini akışlar. |
Remove-PSDrive |
Oturumdan bir sürücü kaldırır. |
Imcmdletprovider temel sınıfı
System. Management. Automation. Provider. ıtemcmdletprovider sınıfı, veri deposunun ayrı öğeleri üzerinde işlemler gerçekleştiren bir Windows PowerShell öğe sağlayıcısını tanımlar ve herhangi bir kapsayıcı veya gezinti özelliği kabul etmez. Bu sınıf System. Management. Automation. Provider. Drvecmdletprovider temel sınıfından türetilir. Aşağıdaki tabloda, bu sınıf tarafından kullanıma sunulan cmdlet 'ler listelenmektedir.
Cmdlet | Tanım |
---|---|
Clear-Item |
Belirtilen konumdaki öğelerin geçerli içeriğini temizler ve sağlayıcı tarafından belirtilen "Clear" değeriyle değiştirir. Parametresi belirtilmediği takdirde bu cmdlet, işlem hattı aracılığıyla bir çıkış nesnesi geçirmez PassThru . |
Get-Item |
Belirtilen konumdan öğeleri alır ve sonuçtaki nesneleri akışlar. |
Invoke-Item |
Belirtilen yoldaki öğe için varsayılan eylemi çağırır. |
Set-Item |
Belirtilen konumdaki bir öğeyi belirtilen değere ayarlar. Parametresi belirtilmediği takdirde bu cmdlet, işlem hattı aracılığıyla bir çıkış nesnesi geçirmez PassThru . |
Resolve-Path |
bir Windows PowerShell yolu için joker karakterleri çözer ve yol bilgilerini akışlar. |
Test-Path |
Belirtilen yolu sınar ve varsa true ve false Aksi takdirde döndürür. Bu cmdlet IsContainer System. Management. Automation. Provider. Cmdletprovider. Writeitemobject * yönteminin parametresini desteklemek için uygulanır. |
ContainerCmdletProvider temel sınıfı
System. Management. Automation. Provider. containercmdletprovider sınıfı, veri deposu öğeleri için bir kapsayıcıyı kullanıma sunan Windows PowerShell kapsayıcı sağlayıcısını kullanıcıya tanımlar. Windows PowerShell kapsayıcı sağlayıcının, yalnızca bir kapsayıcı (iç içe geçmiş kapsayıcı olmayan) varsa, içindeki öğelerle kullanılabileceğini unutmayın. iç içe geçmiş kapsayıcılar varsa, bir Windows PowerShell gezinti sağlayıcısı uygulamanız gerekir.
Bu sınıf System. Management. Automation. Provider. ıtemcmdletprovider temel sınıfından türetilir. Aşağıdaki tabloda, bu sınıf tarafından uygulanan cmdlet 'ler tanımlanmaktadır.
Cmdlet | Tanım |
---|---|
Copy-Item |
Öğeleri bir konumdan diğerine kopyalar. Parametresi belirtilmediği takdirde bu cmdlet, işlem hattı aracılığıyla bir çıkış nesnesi geçirmez PassThru . |
Get-Childitem |
Belirtilen konumdaki alt öğeleri alır ve bunları nesne olarak akışları. |
New-Item |
Belirtilen konumda yeni öğeler oluşturur ve sonuçta elde edilen nesneyi akışlar. |
Remove-Item |
Belirtilen konumdan öğeleri kaldırır. |
Rename-Item |
Belirtilen konumdaki bir öğeyi yeniden adlandırır. Parametresi belirtilmediği takdirde bu cmdlet, işlem hattı aracılığıyla bir çıkış nesnesi geçirmez PassThru . |
NavigationCmdletProvider temel sınıfı
System. Management. Automation. Provider. navigationcmdletprovider sınıfı, birden fazla kapsayıcı kullanan öğeler için işlemler gerçekleştiren bir Windows PowerShell gezinti sağlayıcısını tanımlar. Bu sınıf System. Management. Automation. Provider. Containercmdletprovider temel sınıfından türetilir. Aşağıdaki tabloda, bu sınıf tarafından kullanıma sunulan cmdlet 'ler listelenmektedir.
Cmdlet | Tanım |
---|---|
Combine-Path | İki yolu, yollar arasında sağlayıcıya özgü bir sınırlayıcı kullanarak tek bir yol halinde birleştirir. Bu cmdlet dizeleri akışlar. |
Move-Item |
Öğeleri belirtilen konuma taşıın. Parametresi belirtilmediği takdirde bu cmdlet, işlem hattı aracılığıyla bir çıkış nesnesi geçirmez PassThru . |
İlgili cmdlet, Windows PowerShell tarafından bir temel Parse-Path cmdlet 'i olur. bu cmdlet, parametreyi desteklemek için bir Windows PowerShell yolunu ayrıştırmak üzere kullanılabilir Parent
. Üst yol dizesini akışlar.
Destekedilecek sağlayıcı arabirimlerini seçin
Windows PowerShell temel sınıflarından türetmenin yanı sıra, Windows PowerShell sağlayıcınız aşağıdaki sağlayıcı arabirimlerinden birini veya daha fazlasını türeterek diğer işlevleri de destekleyebilir. Bu bölümde, bu arabirimler ve her biri tarafından desteklenen cmdlet 'ler tanımlanmaktadır. Arabirim tarafından desteklenen cmdlet 'lerin parametrelerini tanımlamaz. Cmdlet parametre bilgileri, ve Get-Command
Get-Help
cmdlet'leri kullanılarak çevrimiçi olarak kullanılabilir.
IContentCmdletProvider
System.Management.Automation.Provider.Icontentcmdletprovider arabirimi, bir veri öğesinin içeriği üzerinde işlem gerçekleştiren bir içerik sağlayıcısı tanımlar. Aşağıdaki tabloda, bu arabirim tarafından ortaya çıkacak cmdlet'ler listelemektedir.
Cmdlet | Tanım |
---|---|
Add-Content |
Belirtilen öğenin içeriğine belirtilen değer uzunluklarını ekler. Bu cmdlet, parametresi belirtilmedi sürece işlem hattı üzerinden bir çıkış PassThru nesnesi iletir. |
Clear-Content |
Belirtilen öğenin içeriğini "clear" değerine ayarlar. Bu cmdlet, parametresi belirtilmedi sürece işlem hattı üzerinden bir çıkış PassThru nesnesi iletir. |
Get-Content |
Belirtilen öğelerin içeriğini alın ve sonuç nesnelerinin akışını sağlar. |
Set-Content |
Belirtilen öğeler için mevcut içeriği değiştirir. Bu cmdlet, parametresi belirtilmedi sürece işlem hattı üzerinden bir çıkış PassThru nesnesi iletir. |
IPropertyCmdletProvider
System.Management.Automation.Provider.Ipropertycmdletprovider arabirimi, veri Windows PowerShell öğelerin özellikleri üzerinde işlem gerçekleştiren bir özellik Windows PowerShell sağlayıcısı tanımlar. Aşağıdaki tabloda, bu arabirim tarafından ortaya çıkacak cmdlet'ler listelemektedir.
Not
Bu Path
cmdlet'ler üzerinde parametresi, bir özelliği tanımlamak yerine öğenin yolunu gösterir.
Cmdlet | Tanım |
---|---|
Clear-ItemProperty |
Belirtilen öğelerin özelliklerini "clear" değerine ayarlar. Bu cmdlet, parametresi belirtilmedi sürece işlem hattı üzerinden bir çıkış PassThru nesnesi iletir. |
Get-ItemProperty |
Belirtilen öğelerden özellikleri alan ve sonuç nesnelerinin akışını sağlar. |
Set-ItemProperty |
Belirtilen öğelerin özelliklerini belirtilen değerlerle ayarlar. Bu cmdlet, parametresi belirtilmedi sürece işlem hattı üzerinden bir çıkış PassThru nesnesi iletir. |
IDynamicPropertyCmdletProvider
System.Management.Automation.Provider.Idynamicpropertycmdletprovider arabirimi, System.Management.Automation.Provider.Ipropertycmdletprovider'dantüretilen, desteklenen cmdlet'ler için dinamik parametreleri belirten bir sağlayıcı tanımlar. Bu tür bir sağlayıcı, örneğin yeni bir özellik işlemi gibi çalışma zamanında tanımlanacak özellikleri olan işlemleri işler. Statik olarak tanımlanmış özelliklere sahip öğelerde bu tür işlemler mümkün değildir. Aşağıdaki tabloda, bu arabirim tarafından ortaya çıkacak cmdlet'ler listelemektedir.
Cmdlet | Tanım |
---|---|
Copy-ItemProperty |
Bir özelliği belirtilen öğeden başka bir öğeye kopyalar. Bu cmdlet, parametresi belirtilmedi sürece işlem hattı üzerinden bir çıkış PassThru nesnesi iletir. |
Move-ItemProperty |
Bir özelliği belirtilen öğeden başka bir öğeye taşır. Bu cmdlet, parametresi belirtilmedi sürece işlem hattı üzerinden bir çıkış PassThru nesnesi iletir. |
New-ItemProperty |
Belirtilen öğeler üzerinde bir özellik oluşturur ve sonuç nesnelerinin akışını oluşturur. |
Remove-ItemProperty |
Belirtilen öğeler için bir özelliği kaldırır. |
Rename-ItemProperty |
Belirtilen öğelerin özelliğini yeniden adlandırıyor. Bu cmdlet, parametresi belirtilmedi sürece işlem hattı üzerinden bir çıkış PassThru nesnesi iletir. |
ISecurityDescriptorCmdletProvider
System.Management.Automation.Provider.Isecuritydescriptorcmdletprovider arabirimi bir sağlayıcıya güvenlik tanımlayıcısı işlevselliği ekler. Bu arabirim, kullanıcının veri deposuna ilişkin bir öğe için güvenlik tanımlayıcısı bilgilerini ala ve ayarlamasını sağlar. Aşağıdaki tabloda, bu arabirim tarafından ortaya çıkacak cmdlet'ler listelemektedir.
Cmdlet | Tanım |
---|---|
Get-Acl |
Bir dosya veya nesne gibi işletim sistemi kaynaklarını korumada kullanılan bir güvenlik tanımlayıcısının parçası olan erişim denetimi listesinde (ACL) bulunan bilgileri alır. |
Set-Acl |
Bir ACL için bilgileri ayarlar. Belirtilen yol için belirlenen öğelerde System.Security.Accesscontrol.Objectsecurity örneği şeklindedir. Bu cmdlet, kayıt defterindeki dosyalar, anahtarlar ve alt anahtarlar ya da Windows PowerShell sağlayıcısı güvenlik bilgileri ayarını destekliyorsa başka bir sağlayıcı öğesiyle ilgili bilgileri ayarlar. |
Ayrıca Bkz.
Windows PowerShell Sağlayıcıları Oluşturma
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin