다음을 통해 공유


공급자 cmdlet 동적 매개 변수

공급자는 사용자가 cmdlet의 정적 매개 변수 중 하나에 대해 특정 값을 지정할 때 공급자 cmdlet에 추가되는 동적 매개 변수를 정의할 수 있습니다. 예를 들어 공급자는 사용자가 Get-Item 또는 Set-Item 공급자 cmdlet을 호출할 때 지정하는 경로에 따라 다른 동적 매개 변수를 추가할 수 있습니다.

동적 매개 변수 메서드

동적 매개 변수는 System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters*System.Management.Automation.Provider.SetItemDynamicParameters.SetItemDynamicParameters* 메서드와 같은 동적 매개 변수 메서드 중 하나를 구현하여 정의됩니다. 이러한 메서드는 독립 실행형 cmdlet과 유사한 특성으로 데코레이팅된 공용 속성이 있는 개체를 반환합니다. 다음은 인증서 공급자에서 가져온 System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* 메서드 구현의 예입니다.

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

공급자 cmdlet의 정적 매개 변수와 달리, 독립 실행형 cmdlet에서 매개 변수를 정의하는 것과 동일한 방식으로 이러한 매개 변수의 특성을 지정할 수 있습니다. 인증서 공급자에서 가져온 동적 매개 변수 클래스의 예는 다음과 같습니다.

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

동적 매개 변수

다음은 동적 매개 변수를 추가하는 데 사용할 수 있는 정적 매개 변수 목록입니다.

또한 참조하십시오

Windows PowerShell 공급자 작성