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ámetroPath
del 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ámetroPath
del cmdletClear-Item
mediante 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ámetroPath
del cmdletClear-ItemProperty
mediante 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
,Destination
yRecurse
del cmdletCopy-Item
mediante 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ámetrosPath
yRecurse
del cmdletGet-ChildItem
implementando 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ámetroPath
del cmdletGet-Content
implementando el método System.Management.Automation.Provider.IContentCmdletProvider.GetContentReaderDynamicParameters*.cmdlet
Get-Item
: puede definir parámetros dinámicos desencadenados por el parámetroPath
del cmdletGet-Item
implementando el método System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters*.cmdlet
Get-ItemProperty
: puede definir parámetros dinámicos desencadenados por los parámetrosPath
yName
del cmdletGet-ItemProperty
implementando el método System.Management.Automation.Provider.IPropertyCmdletProvider.GetPropertyDynamicParameters*.cmdlet
Invoke-Item
: puede definir parámetros dinámicos desencadenados por el parámetroPath
del cmdletInvoke-Item
mediante 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ámetrosPath
yDestination
del cmdletMove-Item
mediante 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
,ItemType
yValue
del cmdletNew-Item
mediante 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
,PropertyType
yValue
del cmdletNew-ItemProperty
mediante 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-PSDrive
mediante 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ámetrosPath
yRecurse
del cmdletRemove-Item
implementando el método System.Management.Automation.Provider.ContainerCmdletProvider.RemoveItemDynamicParameters*.cmdlet
Remove-ItemProperty
: puede definir parámetros dinámicos desencadenados por los parámetrosPath
yName
del cmdletRemove-ItemProperty
implementando el método System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.RemovePropertyDynamicParameters*.cmdlet
Rename-Item
: puede definir parámetros dinámicos desencadenados por los parámetrosPath
yNewName
del cmdletRename-Item
mediante 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
,Name
yNewName
del cmdletRename-ItemProperty
mediante 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ámetroPath
del cmdletSet-Content
implementando el método System.Management.Automation.Provider.IContentCmdletProvider.GetContentWriterDynamicParameters*.cmdlet
Set-Item
: puede definir parámetros dinámicos desencadenados por los parámetrosPath
yValue
del cmdletSet-Item
implementando el método System.Management.Automation.Provider.ItemCmdletProvider.SetItemDynamicParameters*.cmdlet
Set-ItemProperty
: puede definir parámetros dinámicos desencadenados por los parámetrosPath
yValue
del cmdletSet-Item
implementando el método System.Management.Automation.Provider.IPropertyCmdletProvider.SetPropertyDynamicParameters*.cmdlet
Test-Path
: puede definir parámetros dinámicos desencadenados por el parámetroPath
del cmdletTest-Path
mediante la implementación del método System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultActionDynamicParameters*.