공급자는 사용자가 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();
}
동적 매개 변수
다음은 동적 매개 변수를 추가하는 데 사용할 수 있는 정적 매개 변수 목록입니다.
Clear-Content
cmdlet - System.Management.Automation.Provider.IContentCmdletProvider.ClearContentDynamicParameters* 메서드를 구현하여 Clear-Clear cmdlet의Path
매개 변수에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다.Clear-Item
cmdlet - System.Management.Automation.Provider.ItemCmdletProvider.ClearItemDynamicParameters* 메서드를 구현하여Clear-Item
cmdlet의Path
매개 변수에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다.Clear-ItemProperty
cmdlet - System.Management.Automation.Provider.IPropertyCmdletProvider.ClearPropertyDynamicParameters* 메서드를 구현하여Clear-ItemProperty
cmdlet의Path
매개 변수에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다.Copy-Item
cmdlet - System.Management.Automation.Provider.ContainerCmdletProvider.CopyItemDynamicParameters* 메서드를 구현하여Copy-Item
cmdlet의Path
,Destination
및Recurse
매개 변수에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다.Get-ChildItem
cmdlet - System.Management.Automation.Provider.ContainerCmdletProvider를 구현하여Get-ChildItem
cmdlet의Path
및Recurse
매개 변수에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다. .GetChildItemsDynamicParameters* 및 System.Management.Automation.Provider.ContainerCmdletProvider.GetChildNamesDynamicParameters* 메서드.Get-Content
cmdlet - System.Management.Automation.Provider.IContentCmdletProvider.GetContentReaderDynamicParameters* 메서드를 구현하여Get-Content
cmdlet의Path
매개 변수에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다.Get-Item
cmdlet - System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* 메서드를 구현하여Get-Item
cmdlet의Path
매개 변수에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다.Get-ItemProperty
cmdlet - System.Management.Automation.Provider.IPropertyCmdletProvider.GetPropertyDynamicParameters* 메서드를 구현하여Get-ItemProperty
cmdlet의Path
및Name
매개 변수에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다.Invoke-Item
cmdlet - System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultActionDynamicParameters* 메서드를 구현하여Invoke-Item
cmdlet의Path
매개 변수에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다.Move-Item
cmdlet - System.Management.Automation.Provider.NavigationCmdletProvider.MoveItemDynamicParameters* 메서드를 구현하여Move-Item
cmdlet의Path
및Destination
매개 변수에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다.New-Item
cmdlet - System.Management.Automation.Provider.ContainerCmdletProvider.NewItemDynamicParameters* 메서드를 구현하여Path
,ItemType
및New-Item
cmdlet의Value
매개 변수에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다.New-ItemProperty
cmdlet - System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.NewPropertyDynamicParameters* 메서드를 구현하여New-ItemProperty
cmdlet의Path
,Name
,PropertyType
및Value
매개 변수에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다.New-PSDrive
cmdlet - System.Management.Automation.Provider.DriveCmdletProvider.NewDriveDynamicParameters* 메서드를 구현하여New-PSDrive
cmdlet에서 반환된 System.Management.Automation.PSDriveInfo 개체에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다.Remove-Item
cmdlet - System.Management.Automation.Provider.ContainerCmdletProvider.RemoveItemDynamicParameters* 메서드를 구현하여Remove-Item
cmdlet의Path
및Recurse
매개 변수에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다.Remove-ItemProperty
cmdlet - System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.RemovePropertyDynamicParameters* 메서드를 구현하여Remove-ItemProperty
cmdlet의Path
및Name
매개 변수에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다.Rename-Item
cmdlet - System.Management.Automation.Provider.ContainerCmdletProvider.RenameItemDynamicParameters* 메서드를 구현하여Rename-Item
cmdlet의Path
및NewName
매개 변수에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다.Rename-ItemProperty
- System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.RenamePropertyDynamicParameters* 메서드를 구현하여Rename-ItemProperty
cmdlet의Path
,Name
및NewName
매개 변수에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다.Set-Content
cmdlet - System.Management.Automation.Provider.IContentCmdletProvider.GetContentWriterDynamicParameters* 메서드를 구현하여Set-Content
cmdlet의Path
매개 변수에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다.Set-Item
cmdlet - System.Management.Automation.Provider.ItemCmdletProvider.SetItemDynamicParameters* 메서드를 구현하여Set-Item
cmdlet의Path
및Value
매개 변수에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다.Set-ItemProperty
cmdlet - System.Management.Automation.Provider.IPropertyCmdletProvider.SetPropertyDynamicParameters* 메서드를 구현하여Set-Item
cmdlet의Path
및Value
매개 변수에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다.Test-Path
cmdlet - System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultActionDynamicParameters* 메서드를 구현하여Test-Path
cmdlet의Path
매개 변수에 의해 트리거되는 동적 매개 변수를 정의할 수 있습니다.
또한 참조하십시오
PowerShell