Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Anbieter können dynamische Parameter definieren, die einem Anbieter-Cmdlet hinzugefügt werden, wenn der Benutzer einen bestimmten Wert für einen der statischen Parameter des Cmdlets angibt. Beispielsweise kann ein Anbieter unterschiedliche dynamische Parameter hinzufügen, basierend auf dem Pfad, den der Benutzer angibt, wenn er die cmdlets Get-Item oder Set-Item Anbieter aufruft.
Dynamische Parametermethoden
Dynamische Parameter werden durch Implementieren einer der dynamischen Parametermethoden definiert, z. B. System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* und System.Management.Automation.Provider.SetItemDynamicParameters.SetItemDynamicParameters* Methoden. Diese Methoden geben ein Objekt zurück, das öffentliche Eigenschaften aufweist, die mit Attributen versehen sind, die denen von eigenständigen Cmdlets ähneln. Nachfolgend finden Sie ein Beispiel für eine Implementierung der System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* Methode, die vom Zertifikatanbieter stammt:
protected override object GetItemDynamicParameters(string path)
{
return new CertificateProviderDynamicParameters();
}
Im Gegensatz zu den statischen Parametern von Anbieter-Cmdlets können Sie die Merkmale dieser Parameter auf die gleiche Weise angeben, wie Parameter in eigenständigen Cmdlets definiert werden. Nachfolgend sehen Sie ein Beispiel für eine dynamische Parameterklasse, die vom Zertifikatanbieter stammt:
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();
}
Dynamische Parameter
Hier ist eine Liste der statischen Parameter, die zum Hinzufügen dynamischer Parameter verwendet werden können.
Clear-ContentCmdlet – Sie können dynamische Parameter definieren, die durch denPathParameter des cmdlets Clear-Clear ausgelöst werden, indem Sie die System.Management.Automation.Provider.IContentCmdletProvider.ClearContentDynamicParameters* Methode implementieren.Clear-ItemCmdlet – Sie können dynamische Parameter definieren, die durch den parameterPathdes CmdletsClear-Itemausgelöst werden, indem Sie die System.Management.Automation.Provider.ItemCmdletProvider.ClearItemDynamicParameters* Methode implementieren.Clear-ItemPropertyCmdlet – Sie können dynamische Parameter definieren, die durch denPathParameter des cmdletsClear-ItemPropertyausgelöst werden, indem Sie die System.Management.Automation.Provider.IPropertyCmdletProvider.ClearPropertyDynamicParameters* Methode implementieren.Copy-ItemCmdlet – Sie können dynamische Parameter definieren, die durch diePath,DestinationundRecurseParameter des CmdletsCopy-Itemausgelöst werden, indem Sie die System.Management.Automation.Provider.ContainerCmdletProvider.CopyItemDynamicParameters*-Methode implementieren.Get-ChildItemCmdlet – Sie können dynamische Parameter definieren, die durch die ParameterPathundRecursedesGet-ChildItemCmdlets ausgelöst werden, indem Sie die System.Management.Automation.Provider.ContainerCmdletProvider.GetChildItemsDynamicParameters* und System.Management.Automation.Provider.ContainerCmdletProvider.GetChildNamesDynamicParameters* Methoden implementieren.Get-ContentCmdlet – Sie können dynamische Parameter definieren, die durch den parameterPathdes CmdletsGet-Contentausgelöst werden, indem Sie die System.Management.Automation.Provider.IContentCmdletProvider.GetContentReaderDynamicParameters* Methode implementieren.Get-ItemCmdlet – Sie können dynamische Parameter definieren, die durch denPathParameter des cmdletsGet-Itemausgelöst werden, indem Sie die System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters*-Methode implementieren.Get-ItemPropertyCmdlet – Sie können dynamische Parameter definieren, die durch die parameterPathundNamedes CmdletsGet-ItemPropertyausgelöst werden, indem Sie die System.Management.Automation.Provider.IPropertyCmdletProvider.GetPropertyDynamicParameters*-Methode implementieren.Invoke-ItemCmdlet – Sie können dynamische Parameter definieren, die durch denPath-Parameter des cmdletsInvoke-Itemausgelöst werden, indem Sie die System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultActionDynamicParameters* Methode implementieren.Move-ItemCmdlet – Sie können dynamische Parameter definieren, die durch die parameterPathundDestinationdes CmdletsMove-Itemausgelöst werden, indem Sie die System.Management.Automation.Provider.NavigationCmdletProvider.MoveItemDynamicParameters* Methode implementieren.New-ItemCmdlet – Sie können dynamische Parameter definieren, die durch die parameterPath,ItemTypeundValuedes CmdletsNew-Itemausgelöst werden, indem Sie die System.Management.Automation.Provider.ContainerCmdletProvider.NewItemDynamicParameters*-Methode implementieren.New-ItemPropertyCmdlet – Sie können dynamische Parameter definieren, die durch die parameterPath,Name,PropertyTypeundValuedes CmdletsNew-ItemPropertyausgelöst werden, indem Sie die System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.NewPropertyDynamicParameters*-Methode implementieren.New-PSDriveCmdlet – Sie können dynamische Parameter definieren, die durch das System.Management.Automation.PSDriveInfo objekt ausgelöst werden, das vom cmdletNew-PSDrivezurückgegeben wird, indem Sie die System.Management.Automation.Provider.DriveCmdletProvider.NewDriveDynamicParameters* Methode implementieren.Remove-ItemCmdlet – Sie können dynamische Parameter definieren, die durch die parameterPathundRecursedesRemove-ItemCmdlets ausgelöst werden, indem Sie die System.Management.Automation.Provider.ContainerCmdletProvider.RemoveItemDynamicParameters* Methode implementieren.Remove-ItemPropertyCmdlet – Sie können dynamische Parameter definieren, die durch die parameterPathundNamedes CmdletsRemove-ItemPropertyausgelöst werden, indem Sie die System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.RemovePropertyDynamicParameters*-Methode implementieren.Rename-ItemCmdlet – Sie können dynamische Parameter definieren, die durch die parameterPathundNewNamedes CmdletsRename-Itemausgelöst werden, indem Sie die System.Management.Automation.Provider.ContainerCmdletProvider.RenameItemDynamicParameters* Methode implementieren.Rename-ItemProperty– Sie können dynamische Parameter definieren, die durch die ParameterPath,NameundNewNamedes CmdletsRename-ItemPropertyausgelöst werden, indem Sie die System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.RenamePropertyDynamicParameters*-Methode implementieren.Set-ContentCmdlet – Sie können dynamische Parameter definieren, die durch denPathParameter des cmdletsSet-Contentausgelöst werden, indem Sie die System.Management.Automation.Provider.IContentCmdletProvider.GetContentWriterDynamicParameters* Methode implementieren.Set-ItemCmdlet – Sie können dynamische Parameter definieren, die durch die parameterPathundValuedesSet-ItemCmdlets ausgelöst werden, indem Sie die System.Management.Automation.Provider.ItemCmdletProvider.SetItemDynamicParameters* Methode implementieren.Set-ItemPropertyCmdlet – Sie können dynamische Parameter definieren, die durch diePathundValueParameter des CmdletsSet-Itemausgelöst werden, indem Sie die System.Management.Automation.Provider.IPropertyCmdletProvider.SetPropertyDynamicParameters* Methode implementieren.Test-PathCmdlet – Sie können dynamische Parameter definieren, die durch denPath-Parameter des cmdletsTest-Pathausgelöst werden, indem Sie die System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultActionDynamicParameters* Methode implementieren.