提供程序 cmdlet 附带一组静态参数,这些参数可用于支持该 cmdlet 的所有提供程序,以及当用户为提供程序 cmdlet 的某些静态参数指定特定值时添加的动态参数。
提供程序 Cmdlet 静态参数
静态参数由 Windows PowerShell 定义。 Windows PowerShell 实现了大量这些参数,以提供所有提供程序的一致性,并提供更简单的开发体验。 这些参数的示例包括 LiteralPath、Exclude和 Get-Item cmdlet 的 Include 参数。 可以覆盖一组较小的这些参数,以提供特定于提供程序的作。 这些参数的示例包括 Set-Item cmdlet 的 Path 和 Value 参数。 下面是可为提供程序 cmdlet 覆盖的参数列表。
Clear-Content cmdlet 可以通过实现 System.Management.Automation.Provider.IContentCmdletProvider.ClearContent* 方法,定义提供程序如何使用传递给 Clear-Content cmdlet Path 参数的值。
Clear-Item cmdlet 可以通过实现 System.Management.Automation.Provider.ItemCmdletProvider.ClearItem* 方法,定义提供程序如何使用传递给 Clear-Item cmdlet Path 参数的值。
Clear-ItemProperty cmdlet,可以通过实现 System.Management.Automation.Provider.IPropertyCmdletProvider.ClearProperty* 方法,定义提供程序如何使用传递给 Clear-ItemPropertyPath 和 Name cmdlet 参数的值。
Copy-Item cmdlet,可以通过实现 System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem 方法,定义提供程序如何使用传递给 Path、Destination和 Recurse cmdlet Copy-Item 的参数。
Get-ChildItems cmdlet 可以通过实现 System.Management.Automation.Provider.ContainerCm,定义提供程序如何使用传递给 Get-ChildItem cmdlet Path 和 Recurse 参数的值 system.Management.Automation.Provider.ContainerCmdletProvider.GetChildNames* 和 System.Management.Automation.Provider.ContainerCmdletProvider.GetChildNames* 方法。
Get-Content cmdlet 可以通过实现 System.Management.Automation.Provider.IContentCmdletProvider.GetContentReader* 方法,定义提供程序如何使用传递给 Get-Content cmdlet Path 参数的值。
Get-Item cmdlet 可以通过实现 System.Management.Automation.Provider.ItemCmdletProvider.GetItem* 方法,定义提供程序如何使用传递给 Get-Item cmdlet Path 参数的值。
Get-ItemProperty cmdlet 可以通过实现 System.Management.Automation.Provider.IPropertyCmdletProvider.GetProperty* 方法,定义提供程序如何使用传递给 Get-ItemProperty cmdlet 的 Path 和 Name 参数的值。
Invoke-Item cmdlet,可以通过实现 System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultAction* 方法,定义提供程序如何使用传递给 Invoke-Item cmdlet Path 参数的值。
Move-Item cmdlet 可以通过实现 System.Management.Automation.Provider.NavigationCmdletProvider.MoveItem* 方法,定义提供程序如何使用传递给 Move-Item cmdlet 的 Path 和 Destination 参数的值。
New-Item cmdlet,可以通过实现 System.Management.Automation.Provider.ContainerCmdletProvider.NewItem* 方法,定义提供程序如何使用传递给 Path、ItemType和 Value cmdlet New-Item 的参数。
New-ItemProperty cmdlet 可以通过实现 .PowerShell.Commands.RegistryProvider.NewProperty* Microsoft 方法,来定义提供程序如何使用传递给 Path、Name、PropertyType和 Value cmdlet New-ItemProperty 的参数。
Remove-Item 可以通过实现 System.Management.Automation.Provider.ContainerCmdletProvider.RemoveItem* 方法,定义提供程序如何使用传递给 Remove-Item cmdlet Path 和 Recurse 参数的值。
Remove-ItemProperty 可以通过实现 PathSystem.Management.Automation.Provider.IDynamicPropertyCmdletProvider.RemoveProperty* 方法,定义提供程序如何使用传递给 Remove-ItemProperty cmdlet 和 Name 参数的值。
Rename-Item cmdlet 可以通过实现 System.Management.Automation.Provider.ContainerCmdletProvider.RenameItem* 方法,定义提供程序如何使用传递给 Rename-ItemPath 和 NewName cmdlet 的参数。
Rename-ItemProperty 可以通过实现 System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.RenameProperty* 方法,定义提供程序如何使用传递给 Rename-ItemPropertyPath、NewName和 Name cmdlet 的参数。
Set-Content cmdlet 可以通过实现 System.Management.Automation.Provider.IContentCmdletProvider.GetContentWriter* 方法,定义提供程序如何使用传递给 Set-Content cmdlet Path 参数的值。
Set-Item cmdlet,可以通过实现 System.Management.Automation.Provider.ItemCmdletProvider.SetItem* 方法,定义提供程序如何使用传递给 Set-Item cmdlet 的 Path 和 Value 参数的值。
Set-ItemProperty cmdlet 可以通过实现 System.Management.Automation.Provider.IPropertyCmdletProvider.SetProperty* 方法,来定义提供程序如何使用传递给 Set-Item cmdlet 的 Path 和 Value 参数的值。
Test-Path cmdlet,可以通过实现 System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultAction* 方法,定义提供程序如何使用传递给 Test-Path cmdlet Path 参数的值。
此外,不能指定这些参数的特征,例如是可选参数还是必需参数,也不能为这些参数指定别名或指定任何验证属性。 相比之下,可以使用属性(如 Parameters 属性)在独立 cmdlet 中指定参数特征。
提供程序 Cmdlet 动态参数
cmdlet 提供程序的动态参数类似于独立 cmdlet 的动态提供程序。 在这两种情况下,当用户为其中一个默认参数(如 path 参数)指定特定值时,参数将添加到 cmdlet。 但是,并非所有静态参数都可用于触发添加动态参数。 有关动态参数的详细信息,请参阅 提供程序 Cmdlet 动态参数。