Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 parâmetros dinâmicos diferentes com base em qual caminho o usuário especifica quando chama os cmdlets do provedor Get-Item ou Set-Item.
Métodos de parâmetro dinâmico
Os parâmetros dinâmicos são definidos implementando um dos métodos de parâmetro dinâmico, como o System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* e System.Management.Automation.Provider.SetItemDynamicParameters.SetItemDynamicParameters* métodos. 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 método System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* obtido do provedor de certificados:
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 certificados:
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 disparados 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 disparados 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 disparados 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 disparados 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 disparados pelos parâmetrosPatheRecursedo cmdletGet-ChildItemimplementando o System.Management.Automation.Provider.ContainerCm métodosSystem.Management.Automation.Provider.ContainerCmdletProvider.GetChildNamesDynamicParameters* e System.Management.Automation.Provider.ContainerCmdletProvider.GetChildNamesDynamicParameters*.Get-Contentcmdlet – Você pode definir parâmetros dinâmicos que são disparados 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 disparados 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 disparados 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 disparados 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 disparados 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 disparados pelos parâmetrosPath,ItemTypeeValuedo cmdletNew-Itemimplementando o método System.Management.Automation.Provider.ContainerCmdletProvider.NewItemDynamicParameters*.New-ItemPropertycmdlet – Você pode definir parâmetros dinâmicos que são disparados 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 que são disparados 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 disparados pelos parâmetrosPatheRecursedo cmdletRemove-Itemimplementando o método System.Management.Automation.Provider.ContainerCmdletProvider.RemoveItemDynamicParameters*.Remove-ItemPropertycmdlet – Você pode definir parâmetros dinâmicos que são disparados 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 disparados pelos parâmetrosPatheNewNamedo cmdletRename-Itemimplementando o método System.Management.Automation.Provider.ContainerCmdletProvider.RenameItemDynamicParameters*.Rename-ItemProperty- Você pode definir parâmetros dinâmicos disparados 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 disparados 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 disparados 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 disparados 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 disparados pelo parâmetroPathdo cmdletTest-Pathimplementando o método System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultActionDynamicParameters*.