Delen via


Dynamische parameters voor provider-cmdlets

Providers kunnen dynamische parameters definiëren die worden toegevoegd aan een provider-cmdlet wanneer de gebruiker een bepaalde waarde opgeeft voor een van de statische parameters van de cmdlet. Een provider kan bijvoorbeeld verschillende dynamische parameters toevoegen op basis van het pad dat de gebruiker opgeeft wanneer deze de cmdlets van de Get-Item of Set-Item provider aanroept.

Dynamische parametermethoden

Dynamische parameters worden gedefinieerd door een van de dynamische parametermethoden te implementeren, zoals de System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* en System.Management.Automation.Provider.SetItemDynamicParameters.SetItemDynamicParameters* methoden. Deze methoden retourneren een object met openbare eigenschappen die zijn ingericht met kenmerken die vergelijkbaar zijn met die van zelfstandige cmdlets. Hier volgt een voorbeeld van een implementatie van de methode System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* van de certificaatprovider:

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

In tegenstelling tot de statische parameters van provider-cmdlets, kunt u de kenmerken van deze parameters opgeven op dezelfde manier als parameters worden gedefinieerd in zelfstandige cmdlets. Hier volgt een voorbeeld van een dynamische parameterklasse die afkomstig is van de certificaatprovider:

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 parameters

Hier volgt een lijst met de statische parameters die kunnen worden gebruikt om dynamische parameters toe te voegen.

Zie ook

een Windows PowerShell-provider schrijven