Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los proveedores pueden definir parámetros dinámicos que se agregan a un cmdlet de proveedor cuando el usuario especifica un valor determinado para uno de los parámetros estáticos del cmdlet. Por ejemplo, un proveedor puede agregar parámetros dinámicos diferentes en función de la ruta de acceso que especifica el usuario cuando llama a los cmdlets de proveedor Get-Item o Set-Item.
Métodos de parámetro dinámico
Los parámetros dinámicos se definen mediante la implementación de uno de los métodos de parámetro dinámico, como los métodos System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* y System.Management.Automation.Provider.SetItemDynamicParameters.SetItemDynamicParameters*. Estos métodos devuelven un objeto que tiene propiedades públicas decoradas con atributos similares a los de cmdlets independientes. Este es un ejemplo de una implementación del método System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* tomado del proveedor de certificados:
protected override object GetItemDynamicParameters(string path)
{
return new CertificateProviderDynamicParameters();
}
A diferencia de los parámetros estáticos de los cmdlets de proveedor, puede especificar las características de estos parámetros de la misma manera que los parámetros se definen en cmdlets independientes. Este es un ejemplo de una clase de parámetro dinámico tomada del proveedor 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
Esta es una lista de los parámetros estáticos que se pueden usar para agregar parámetros dinámicos.
cmdlet
Clear-Content: puede definir parámetros dinámicos desencadenados por el parámetroPathdel cmdlet Clear-Clear implementando el método System.Management.Automation.Provider.IContentCmdletProvider.ClearContentDynamicParameters*.cmdlet
Clear-Item: puede definir parámetros dinámicos desencadenados por el parámetroPathdel cmdletClear-Itemmediante la implementación del método System.Management.Automation.Provider.ItemCmdletProvider.ClearItemDynamicParameters*.cmdlet
Clear-ItemProperty: puede definir parámetros dinámicos desencadenados por el parámetroPathdel cmdletClear-ItemPropertymediante la implementación del método System.Management.Automation.Provider.IPropertyCmdletProvider.ClearPropertyDynamicParameters*.cmdlet
Copy-Item: puede definir parámetros dinámicos desencadenados por los parámetrosPath,DestinationyRecursedel cmdletCopy-Itemmediante la implementación del método System.Management.Automation.Provider.ContainerCmdletProvider.CopyItemDynamicParameters*.cmdlet
Get-ChildItem: puede definir parámetros dinámicos desencadenados por los parámetrosPathyRecursedel cmdletGet-ChildItemimplementando los métodos System.Management.Automation.Provider.ContainerCmdletProvider.GetChildItemsDynamicParameters* y System.Management.Automation.Provider.ContainerCmdletProvider.GetChildNamesDynamicParameters*.cmdlet
Get-Content: puede definir parámetros dinámicos desencadenados por el parámetroPathdel cmdletGet-Contentimplementando el método System.Management.Automation.Provider.IContentCmdletProvider.GetContentReaderDynamicParameters*.cmdlet
Get-Item: puede definir parámetros dinámicos desencadenados por el parámetroPathdel cmdletGet-Itemimplementando el método System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters*.cmdlet
Get-ItemProperty: puede definir parámetros dinámicos desencadenados por los parámetrosPathyNamedel cmdletGet-ItemPropertyimplementando el método System.Management.Automation.Provider.IPropertyCmdletProvider.GetPropertyDynamicParameters*.cmdlet
Invoke-Item: puede definir parámetros dinámicos desencadenados por el parámetroPathdel cmdletInvoke-Itemmediante la implementación del método System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultActionDynamicParameters*.cmdlet
Move-Item: puede definir parámetros dinámicos desencadenados por los parámetrosPathyDestinationdel cmdletMove-Itemmediante la implementación del método System.Management.Automation.Provider.NavigationCmdletProvider.MoveItemDynamicParameters*.cmdlet
New-Item: puede definir parámetros dinámicos desencadenados por los parámetrosPath,ItemTypeyValuedel cmdletNew-Itemmediante la implementación del método System.Management.Automation.Provider.ContainerCmdletProvider.NewItemDynamicParameters*.cmdlet
New-ItemProperty: puede definir parámetros dinámicos desencadenados por los parámetrosPath,Name,PropertyTypeyValuedel cmdletNew-ItemPropertymediante la implementación del método System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.NewPropertyDynamicParameters*.cmdlet
New-PSDrive: puede definir parámetros dinámicos desencadenados por el objeto System.Management.Automation.PSDriveInfo devuelto por el cmdletNew-PSDrivemediante la implementación del método System.Management.Automation.Provider.DriveCmdletProvider.NewDriveDynamicParameters*.cmdlet
Remove-Item: puede definir parámetros dinámicos desencadenados por los parámetrosPathyRecursedel cmdletRemove-Itemimplementando el método System.Management.Automation.Provider.ContainerCmdletProvider.RemoveItemDynamicParameters*.cmdlet
Remove-ItemProperty: puede definir parámetros dinámicos desencadenados por los parámetrosPathyNamedel cmdletRemove-ItemPropertyimplementando el método System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.RemovePropertyDynamicParameters*.cmdlet
Rename-Item: puede definir parámetros dinámicos desencadenados por los parámetrosPathyNewNamedel cmdletRename-Itemmediante la implementación del método System.Management.Automation.Provider.ContainerCmdletProvider.RenameItemDynamicParameters*.Rename-ItemProperty: puede definir parámetros dinámicos desencadenados por los parámetrosPath,NameyNewNamedel cmdletRename-ItemPropertymediante la implementación del método System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.RenamePropertyDynamicParameters*.cmdlet
Set-Content: puede definir parámetros dinámicos desencadenados por el parámetroPathdel cmdletSet-Contentimplementando el método System.Management.Automation.Provider.IContentCmdletProvider.GetContentWriterDynamicParameters*.cmdlet
Set-Item: puede definir parámetros dinámicos desencadenados por los parámetrosPathyValuedel cmdletSet-Itemimplementando el método System.Management.Automation.Provider.ItemCmdletProvider.SetItemDynamicParameters*.cmdlet
Set-ItemProperty: puede definir parámetros dinámicos desencadenados por los parámetrosPathyValuedel cmdletSet-Itemimplementando el método System.Management.Automation.Provider.IPropertyCmdletProvider.SetPropertyDynamicParameters*.cmdlet
Test-Path: puede definir parámetros dinámicos desencadenados por el parámetroPathdel cmdletTest-Pathmediante la implementación del método System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultActionDynamicParameters*.