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-HelpBu 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 .

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

Windows PowerShell Nasıl Çalışır?

Windows PowerShell SDK’sı