Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os provedores podem definir parâmetros dinâmicos que são adicionados a um cmdlet de provedor quando o usuário especifica um determinado valor para um dos parâmetros estáticos do cmdlet. Por exemplo, um provedor pode adicionar diferentes parâmetros dinâmicos com base no caminho que o usuário especifica quando chama os cmdlets Get-Item ou Set-Item provedor.
Métodos de parâmetros dinâmicos
Os parâmetros dinâmicos são definidos implementando um dos métodos de parâmetros dinâmicos, como o System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* e métodos de System.Management.Automation.Provider.SetItemDynamicParameters.SetItemDynamicParameters*. Esses métodos retornam um objeto que tem propriedades públicas decoradas com atributos semelhantes aos de cmdlets autônomos. Aqui está um exemplo de uma implementação do System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* método retirado do provedor de certificado:
protected override object GetItemDynamicParameters(string path)
{
return new CertificateProviderDynamicParameters();
}
Ao contrário dos parâmetros estáticos dos cmdlets do provedor, você pode especificar as características desses parâmetros da mesma forma que os parâmetros são definidos em cmdlets autônomos. Aqui está um exemplo de uma classe de parâmetro dinâmico obtida do provedor de certificado:
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();
}
Parâmetros dinâmicos
Aqui está uma lista dos parâmetros estáticos que podem ser usados para adicionar parâmetros dinâmicos.
Clear-Contentcmdlet - Você pode definir parâmetros dinâmicos que são acionados pelo parâmetroPathdo cmdlet Clear-Clear implementando o método System.Management.Automation.Provider.IContentCmdletProvider.ClearContentDynamicParameters*.Clear-Itemcmdlet - Você pode definir parâmetros dinâmicos que são acionados pelo parâmetroPathdo cmdletClear-Itemimplementando o método System.Management.Automation.Provider.ItemCmdletProvider.ClearItemDynamicParameters*.Clear-ItemPropertycmdlet - Você pode definir parâmetros dinâmicos que são acionados pelo parâmetroPathdo cmdletClear-ItemPropertyimplementando o método System.Management.Automation.Provider.IPropertyCmdletProvider.ClearPropertyDynamicParameters*.Copy-Itemcmdlet - Você pode definir parâmetros dinâmicos que são acionados pelos parâmetrosPath,DestinationeRecursedo cmdletCopy-Itemimplementando o método System.Management.Automation.Provider.ContainerCmdletProvider.CopyItemDynamicParameters* .Get-ChildItemcmdlet - Você pode definir parâmetros dinâmicos que são acionados pelos parâmetrosPatheRecursedo cmdletGet-ChildItemimplementando os System.Management.Automation.Provider.ContainerCmdletProvider.GetChildItemsDynamicParameters* e métodos de System.Management.Automation.Provider.ContainerCmdletProvider.GetChildNamesDynamicParameters*.Get-Contentcmdlet - Você pode definir parâmetros dinâmicos que são acionados pelo parâmetroPathdo cmdletGet-Contentimplementando o método System.Management.Automation.Provider.IContentCmdletProvider.GetContentReaderDynamicParameters*.Get-Itemcmdlet - Você pode definir parâmetros dinâmicos que são acionados pelo parâmetroPathdo cmdletGet-Itemimplementando o método System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters*.Get-ItemPropertycmdlet - Você pode definir parâmetros dinâmicos que são acionados pelos parâmetrosPatheNamedo cmdletGet-ItemPropertyimplementando o método System.Management.Automation.Provider.IPropertyCmdletProvider.GetPropertyDynamicParameters*.Invoke-Itemcmdlet - Você pode definir parâmetros dinâmicos que são acionados pelo parâmetroPathdo cmdletInvoke-Itemimplementando o método System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultActionDynamicParameters*.Move-Itemcmdlet - Você pode definir parâmetros dinâmicos que são acionados pelos parâmetrosPatheDestinationdo cmdletMove-Itemimplementando o método System.Management.Automation.Provider.NavigationCmdletProvider.MoveItemDynamicParameters*.New-Itemcmdlet - Você pode definir parâmetros dinâmicos que são acionados pelos parâmetrosPath,ItemTypeeValuedo cmdletNew-Itemimplementando o método System.Management.Automation.Provider.ContainerCmdletProvider.NewItemDynamicParameters*.New-ItemPropertycmdlet - Você pode definir parâmetros dinâmicos acionados pelos parâmetrosPath,Name,PropertyTypeeValuedo cmdletNew-ItemPropertyimplementando o método System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.NewPropertyDynamicParameters*.New-PSDrivecmdlet - Você pode definir parâmetros dinâmicos acionados pelo objeto System.Management.Automation.PSDriveInfo retornado pelo cmdletNew-PSDriveimplementando o método System.Management.Automation.Provider.DriveCmdletProvider.NewDriveDynamicParameters*.Remove-Itemcmdlet - Você pode definir parâmetros dinâmicos que são acionados pelos parâmetrosPatheRecursedo cmdletRemove-Itemimplementando o método System.Management.Automation.Provider.ContainerCmdletProvider.RemoveItemDynamicParameters*.Remove-ItemPropertycmdlet - Você pode definir parâmetros dinâmicos acionados pelos parâmetrosPatheNamedo cmdletRemove-ItemPropertyimplementando o método System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.RemovePropertyDynamicParameters*.Rename-Itemcmdlet - Você pode definir parâmetros dinâmicos que são acionados pelos parâmetrosPatheNewNamedo cmdletRename-Itemimplementando o método System.Management.Automation.Provider.ContainerCmdletProvider.RenameItemDynamicParameters*.Rename-ItemProperty- Você pode definir parâmetros dinâmicos que são acionados pelos parâmetrosPath,NameeNewNamedo cmdletRename-ItemPropertyimplementando o método System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.RenamePropertyDynamicParameters*.Set-Contentcmdlet - Você pode definir parâmetros dinâmicos que são acionados pelo parâmetroPathdo cmdletSet-Contentimplementando o método System.Management.Automation.Provider.IContentCmdletProvider.GetContentWriterDynamicParameters*.Set-Itemcmdlet - Você pode definir parâmetros dinâmicos que são acionados pelos parâmetrosPatheValuedo cmdletSet-Itemimplementando o método System.Management.Automation.Provider.ItemCmdletProvider.SetItemDynamicParameters*.Set-ItemPropertycmdlet - Você pode definir parâmetros dinâmicos que são acionados pelos parâmetrosPatheValuedo cmdletSet-Itemimplementando o método System.Management.Automation.Provider.IPropertyCmdletProvider.SetPropertyDynamicParameters*.Test-Pathcmdlet - Você pode definir parâmetros dinâmicos que são acionados pelo parâmetroPathdo cmdletTest-Pathimplementando o método System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultActionDynamicParameters*.