Windows PowerShell Sağlayıcısına Genel Bakış


Windows PowerShell sağlayıcısı, herhangi bir veri deposunun sanki takılı bir sürücü gibi bir dosya sistemi gibi kullanıma sunulmasına olanak tanır. Örneğin, yerleşik Kayıt Defteri sağlayıcısı, bilgisayarınızın c sürücüsünde gezindiğiniz gibi kayıt defterinde gezinmenize olanak tanır. Sağlayıcı ayrıca Item cmdlet'lerini (örneğin, Get-Item, Set-Item vb.) geçersiz kılabilir; böylece veri deposu, bir dosya sisteminde gezinirken dosyalara ve dizinlere davranıldığı gibi ele alınabilir. Sağlayıcılar ve sürücüler ile Windows PowerShell'deki yerleşik sağlayıcılar hakkında daha fazla bilgi için bkz. about_Providers.

Sağlayıcılar ve Sürücüler

Sağlayıcı, bir veri deposuna erişmek, gezinmek ve düzenlemek için kullanılan mantığı tanımlarken, sürücü, sağlayıcı tarafından tanımlanan türde bir veri deposuna (veya veri deposunun bir kısmına) belirli bir giriş noktası belirtir. Örneğin, Kayıt Defteri sağlayıcısı, bir kayıt defterindeki kovanlara ve anahtarlara erişmenize izin verir ve HKLM ve HKCU sürücüleri, kayıt defterindeki ilgili kovanları belirtir. HKLM ve HKCU sürücülerinin her ikisi de Kayıt Defteri sağlayıcısını kullanır.

Bir sağlayıcı yazdığınızda, sağlayıcı kullanılabilir olduğunda otomatik olarak oluşturulan varsayılan sürücüleri-sürücüleri belirtebilirsiniz. Ayrıca bu sağlayıcıyı kullanan yeni sürücüler oluşturmak için bir yöntem de tanımlarsınız.

Sağlayıcı Türü

Her biri farklı düzeyde işlevsellik sağlayan çeşitli sağlayıcı türleri vardır. Sağlayıcı, System.Management.Automation.SessionStateCategory CmdletProvider sınıfının alt öğelerinden birinden türetilen bir sınıf olarak uygulanır. Farklı sağlayıcı türleri hakkında bilgi için bkz. Sağlayıcı türleri.

Sağlayıcı cmdlet'leri

Sağlayıcılar, cmdlet'lere karşılık gelen yöntemleri uygulayabilir ve bu sağlayıcıya ait bir sürücüde kullanıldığında bu cmdlet'ler için özel davranışlar oluşturabilir. Sağlayıcının türüne bağlı olarak farklı cmdlet setleri mevcuttur. Sağlayıcılarda özelleştirilebilecek cmdlet'lerin tam listesi için bkz. Sağlayıcı cmdlet'leri.

Sağlayıcı yolları

Kullanıcılar, dosya sistemleri gibi sağlayıcı sürücülerinde gezinir. Bu nedenle, yolların sözdiziminin dosya sistemi gezinmesinde kullanılan yollara karşılık gelmesini beklerler. Kullanıcı bir sağlayıcı cmdlet'ini çalıştırdığında erişilecek öğenin yolunu belirtir. Belirtilen yol çeşitli şekillerde yorumlanabilir. Sağlayıcının aşağıdaki yol türlerinden bir veya daha fazlasını desteklemesi gerekir.

Drive'a uygun yollar

Sürücü nitelikli yol, öğe adının, öğenin bulunduğu kapsayıcının ve alt kapsayıcıların ve öğeye erişilen Windows PowerShell sürücüsünün birleşimidir. (Sürücüler, veri deposuna erişmek için kullanılan sağlayıcı tarafından tanımlanır. Bu yol, sürücü adıyla başlar ve ardından iki nokta üst üste (:) gelir. Örneğin: get-childitem C:

Sağlayıcı onaylı yollar

Windows PowerShell motorunun sağlayıcınızı başlatmasına ve başlatmayı kaldırmasına izin vermek için sağlayıcının, sağlayıcı onaylı bir yolu desteklemesi gerekir. Örneğin, kullanıcı FileSystem sağlayıcısını başlatabilir ve başlatmayı kaldırabilir çünkü bu sağlayıcı aşağıdaki sağlayıcı onaylı yolu tanımlamaktadır: FileSystem::\\uncshare\abc\bar.

Sağlayıcıya yönelik doğrudan yollar

Windows PowerShell sağlayıcınıza uzaktan erişime izin vermek için, geçerli konum için doğrudan Windows PowerShell sağlayıcısına geçiş yapmak amacıyla sağlayıcının doğrudan yolunu desteklemesi gerekir. Örneğin, kayıt defteri Windows PowerShell sağlayıcısı, sağlayıcının doğrudan yolu olarak \\server\regkeypath öğesini kullanabilir.

Sağlayıcı-dahili yollar

Sağlayıcı cmdlet'inin Windows PowerShell olmayan uygulama programlama arabirimlerini (API'ler) kullanarak verilere erişmesine izin vermek için Windows PowerShell sağlayıcınızın, sağlayıcının dahili yolunu desteklemesi gerekir. Bu yol, sağlayıcı tarafından nitelenen yolda "::" karakterinden sonra belirtilir. Örneğin, Windows PowerShell dosya sistemi sağlayıcısının sağlayıcının dahili yolu \\uncshare\abc\bar şeklindedir.

Cmdlet parametrelerini geçersiz kılma

Sağlayıcıya özgü bazı cmdlet'lerin davranışı, sağlayıcı tarafından geçersiz kılınabilir. Geçersiz kılınabilecek parametrelerin listesi ve bunları sağlayıcı sınıfınızda nasıl geçersiz kılacağınız için bkz. Sağlayıcı cmdlet parametreleri

Dinamik parametreler

Sağlayıcılar, kullanıcı cmdlet'in statik parametrelerinden biri için belirli bir değer belirttiğinde sağlayıcı cmdlet'ine eklenen dinamik parametreleri tanımlayabilir. Bir sağlayıcı bunu bir veya daha fazla dinamik parametre yöntemini uygulayarak yapar. Dinamik parametre eklemek için kullanılabilecek cmdlet parametrelerinin listesi ve bunları uygulamak için kullanılan yöntemler için bkz. Sağlayıcı cmdlet dinamik parametreleri.

Sağlayıcı yetenekleri

System.Management.Automation.Provider.Providercapaibility numaralandırması, sağlayıcıların destekleyebileceği bir dizi özelliği tanımlar. Bunlar joker karakter kullanma, öğeleri filtreleme ve işlemleri destekleme özelliklerini içerir. Bir sağlayıcıya yönelik yetenekleri belirtmek için, System.Management.Automation.Provider.Providercapaibility numaralandırmasının değerlerinin bir listesini, System.Management.Automation.Provider.Cmdletprovideattribute olarak mantıksal bir OR işlemiyle birlikte ekleyin. Sağlayıcı sınıfınızın System.Management.Automation.Provider.Cmdletproviderattribute özniteliğinin .Providercapaibility* özelliği (özniteliğin ikinci parametresi). Örneğin, aşağıdaki öznitelik, sağlayıcının System.Management.Automation.Provider.Providercapaibility ShouldProcess ve System.Management.Automation.Provider.ProviderCapaability Transactions yeteneklerini desteklediğini belirtir.

[CmdletProvider(RegistryProvider.ProviderName, ProviderCapabilities.ShouldProcess | ProviderCapabilities.Transactions)]

Sağlayıcı cmdlet'i yardımı

Bir sağlayıcı yazarken, desteklediğiniz sağlayıcı cmdlet'leri için kendi Yardımınızı uygulayabilirsiniz. Bu, her sağlayıcı cmdlet'i için tek bir yardım konusunu veya sağlayıcı cmdlet'inin dinamik parametrelerin kullanımına bağlı olarak farklı davrandığı durumlar için bir yardım konusunun birden çok sürümünü içerir. Sağlayıcı cmdlet'ine özel yardımı desteklemek için sağlayıcınızın System.Management.Automation.Provider.Icmdletprovidersupportshelp arayüzünü uygulaması gerekir.

Windows PowerShell motoru, sağlayıcı cmdlet'leriniz için Yardım konusunu görüntülemek üzere System.Management.Automation.Provider.Icmdletprovidersupportshelp.Gethelpmaml* yöntemini çağırır. Motor, kullanıcının Get-Help cmdlet'ini çalıştırırken belirttiği cmdlet'in adını ve kullanıcının geçerli yolunu sağlar. Sağlayıcınız farklı sürücüler için aynı sağlayıcı cmdlet'inin farklı sürümlerini uyguluyorsa geçerli yol gereklidir. Yöntem, cmdlet Yardımı için XML içeren bir dize döndürmelidir.

Yardım dosyasının içeriği PSMAML XML kullanılarak yazılmıştır. Bu, bağımsız cmdlet'ler için Yardım içeriği yazmak için kullanılan XML şemasının aynısıdır. Özel cmdlet Yardımınızın içeriğini CmdletHelpPaths öğesi altında sağlayıcınızın Yardım dosyasına ekleyin. Aşağıdaki örnek, tek bir sağlayıcı cmdlet'ine ilişkin command öğesini gösterir ve sağlayıcınızın kullandığı sağlayıcı cmdlet'inin adını nasıl belirttiğinizi gösterir. destekler

<CmdletHelpPaths>
  <command:command>
    <command:details>
      <command:name>ProviderCmdletName</command:name>
      <command:verb>Verb</command:verb>
      <command:noun>Noun</command:noun>
    <command:details>
  </command:command>
<CmdletHelpPath>

Ayrıca Bakınız

Windows PowerShell Sağlayıcı İşlevselliği

Sağlayıcı Cmdlet'leri

Windows PowerShell Sağlayıcısı Yazma

İlgili makaleler