Sağlayıcı cmdlet dinamik parametreleri

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. Örneğin, bir sağlayıcı, kullanıcının Get-Item veya Set-Item sağlayıcı cmdlet'lerini çağırdığında hangi yolu belirttiğine bağlı olarak farklı dinamik parametreler ekleyebilir.

Dinamik Parametre Yöntemleri

Dinamik parametreler, System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* ve System.Management.Automation.Provider.SetItemDynamicParameters.SetItemDynamicParameters* yöntemleri gibi dinamik parametre yöntemlerinden biri uygulanarak tanımlanır. Bu yöntemler, tek başına cmdlet'lere benzer özniteliklerle dekore edilmiş genel özelliklere sahip bir nesne döndürür. Aşağıda, Sertifika sağlayıcısından alınan System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* yönteminin bir uygulaması örneği verilmiştir:

protected override object GetItemDynamicParameters(string path)
{
    return new CertificateProviderDynamicParameters();
}

Sağlayıcı cmdlet'lerinin statik parametrelerinden farklı olarak, bu parametrelerin özelliklerini bağımsız cmdlet'lerde parametrelerin tanımlandığı şekilde belirtebilirsiniz. Sertifika sağlayıcısından alınan dinamik parametre sınıfı örneği aşağıda verilmiştir:

internal sealed class CertificateProviderDynamicParameters
{
  /// <summary>
  /// Dynamic parameter the controls whether we only return
  /// code signing certs.
  /// </summary>
  [Parameter()]
  public SwitchParameter CodeSigningCert
  {
    get
    {
      {
        return codeSigningCert;
      }
    }

    set
    {
      {
        codeSigningCert = value;
      }
    }
  }

    private SwitchParameter codeSigningCert = new SwitchParameter();
}

Dinamik Parametreler

Dinamik parametreler eklemek için kullanılabilecek statik parametrelerin listesi aşağıdadır.

Ayrıca Bkz.

Windows PowerShell Sağlayıcısı yazma