Freigeben über


Dynamische Anbieter-Cmdlet-Parameter

Anbieter können dynamische Parameter definieren, die einem Anbieter-Cmdlet hinzugefügt werden, wenn der Benutzer einen bestimmten Wert für einen der statischen Parameter des Cmdlets angibt. Beispielsweise kann ein Anbieter unterschiedliche dynamische Parameter hinzufügen, basierend auf dem Pfad, den der Benutzer angibt, wenn er die cmdlets Get-Item oder Set-Item Anbieter aufruft.

Dynamische Parametermethoden

Dynamische Parameter werden durch Implementieren einer der dynamischen Parametermethoden definiert, z. B. System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* und System.Management.Automation.Provider.SetItemDynamicParameters.SetItemDynamicParameters* Methoden. Diese Methoden geben ein Objekt zurück, das öffentliche Eigenschaften aufweist, die mit Attributen versehen sind, die denen von eigenständigen Cmdlets ähneln. Nachfolgend finden Sie ein Beispiel für eine Implementierung der System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* Methode, die vom Zertifikatanbieter stammt:

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

Im Gegensatz zu den statischen Parametern von Anbieter-Cmdlets können Sie die Merkmale dieser Parameter auf die gleiche Weise angeben, wie Parameter in eigenständigen Cmdlets definiert werden. Nachfolgend sehen Sie ein Beispiel für eine dynamische Parameterklasse, die vom Zertifikatanbieter stammt:

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();
}

Dynamische Parameter

Hier ist eine Liste der statischen Parameter, die zum Hinzufügen dynamischer Parameter verwendet werden können.

Siehe auch

Schreiben eines Windows PowerShell-Anbieters