プロバイダー コマンドレットには、コマンドレットをサポートするすべてのプロバイダーが使用できる一連の静的パラメーターと、ユーザーがプロバイダー コマンドレットの特定の静的パラメーターに特定の値を指定したときに追加される動的パラメーターが付属しています。
プロバイダー コマンドレットの静的パラメーター
静的パラメーターは、Windows PowerShell によって定義されます。 これらのパラメーターの大きなセットは、すべてのプロバイダー間で一貫性を提供し、より簡単な開発エクスペリエンスを提供するために、Windows PowerShell によって実装されます。 これらのパラメーターの例には、Get-Item
コマンドレットの LiteralPath
、Exclude
、および Include
パラメーターがあります。 これらのパラメーターのより小さなセットを上書きして、プロバイダーに固有のアクションを提供できます。 これらのパラメーターの例としては、Set-Item
コマンドレットの Path
パラメーターと Value
パラメーターがあります。 プロバイダー コマンドレットで上書きできるパラメーターの一覧を次に示します。
Clear-Content
コマンドレット System.Management.Automation.Provider.IContentCmdletProvider.ClearContent* メソッドを実装することで、Clear-Content
コマンドレットの Path
パラメーターに渡される値をプロバイダーが使用する方法を定義できます。
Clear-Item
コマンドレット System.Management.Automation.Provider.ItemCmdletProvider.ClearItem* メソッドを実装することで、Clear-Item
コマンドレットの Path
パラメーターに渡される値をプロバイダーが使用する方法を定義できます。
Clear-ItemProperty
コマンドレット System.Management.Automation.Provider.IPropertyCmdletProvider.ClearProperty* メソッドを実装することで、Clear-ItemProperty
コマンドレットの Path
および Name
パラメーターに渡される値をプロバイダーが使用する方法を定義できます。
Copy-Item
コマンドレット System.Management.Automation.Provider.ContainerCmdletProvider.CopyItem メソッドを実装することで、Copy-Item
コマンドレットの Path
、Destination
、および Recurse
パラメーターに渡される値をプロバイダーが使用する方法を定義できます。
Get-ChildItems コマンドレット: System.Management.Automation.Provider.ContainerCmdletProvider.GetChildItems* と System.Management.Automation.Provider.ContainerCmdletProvider.GetChildNames* メソッドを実装することで、Get-ChildItem
コマンドレットの Path
および Recurse
パラメーターに渡される値をプロバイダーが使用する方法を定義できます。
Get-Content
コマンドレット System.Management.Automation.Provider.IContentCmdletProvider.GetContentReader* メソッドを実装することで、Get-Content
コマンドレットの Path
パラメーターに渡される値をプロバイダーが使用する方法を定義できます。
Get-Item
コマンドレット System.Management.Automation.Provider.ItemCmdletProvider.GetItem* メソッドを実装することで、Get-Item
コマンドレットのPath
パラメーターに渡される値をプロバイダーが使用する方法を定義できます。
Get-ItemProperty
コマンドレット System.Management.Automation.Provider.IPropertyCmdletProvider.GetProperty* メソッドを実装することで、Get-ItemProperty
コマンドレットの Path
および Name
パラメーターに渡される値をプロバイダーが使用する方法を定義できます。
Invoke-Item
コマンドレット System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultAction* メソッドを実装することで、Invoke-Item
コマンドレットの Path
パラメーターに渡される値をプロバイダーが使用する方法を定義できます。
Move-Item
コマンドレット System.Management.Automation.Provider.NavigationCmdletProvider.MoveItem* メソッドを実装することで、Move-Item
コマンドレットの Path
および Destination
パラメーターに渡される値をプロバイダーが使用する方法を定義できます。
New-Item
コマンドレット System.Management.Automation.Provider.ContainerCmdletProvider.NewItem* メソッドを実装することで、New-Item
コマンドレットの Path
、ItemType
、および Value
パラメーターに渡される値をプロバイダーが使用する方法を定義できます。
New-ItemProperty
コマンドレット Microsoft.PowerShell.Commands.RegistryProvider.NewProperty* メソッドを実装することで、New-ItemProperty
コマンドレットの Path
、Name
、PropertyType
、および Value
パラメーターに渡される値をプロバイダーが使用する方法を定義できます。
Remove-Item
System.Management.Automation.Provider.ContainerCmdletProvider.RemoveItem* メソッドを実装することで、Remove-Item
コマンドレットの Path
および Recurse
パラメーターに渡される値をプロバイダーが使用する方法を定義できます。
Remove-ItemProperty
System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.RemoveProperty* メソッドを実装することで、Remove-ItemProperty
コマンドレットの Path
および Name
パラメーターに渡される値をプロバイダーが使用する方法を定義できます。
Rename-Item
コマンドレット System.Management.Automation.Provider.ContainerCmdletProvider.RenameItem* メソッドを実装することで、Rename-Item
コマンドレットの Path
および NewName
パラメーターに渡される値をプロバイダーが使用する方法を定義できます。
Rename-ItemProperty
System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.RenameProperty* メソッドを実装することで、Rename-ItemProperty
コマンドレットの Path
、NewName
、および Name
パラメーターに渡される値をプロバイダーが使用する方法を定義できます。
Set-Content
コマンドレット System.Management.Automation.Provider.IContentCmdletProvider.GetContentWriter* メソッドを実装することで、Set-Content
コマンドレットの Path
パラメーターに渡される値をプロバイダーが使用する方法を定義できます。
Set-Item
コマンドレット System.Management.Automation.Provider.ItemCmdletProvider.SetItem* メソッドを実装することで、Set-Item
コマンドレットの Path
および Value
パラメーターに渡される値をプロバイダーが使用する方法を定義できます。
Set-ItemProperty
コマンドレット System.Management.Automation.Provider.IPropertyCmdletProvider.SetProperty* メソッドを実装することで、Set-Item
コマンドレットの Path
および Value
パラメーターに渡される値をプロバイダーが使用する方法を定義できます。
Test-Path
コマンドレット System.Management.Automation.Provider.ItemCmdletProvider.InvokeDefaultAction* メソッドを実装することで、Test-Path
コマンドレットの Path
パラメーターに渡される値をプロバイダーが使用する方法を定義できます。
また、これらのパラメーターの特性 (省略可能か必須かなど) を指定することも、これらのパラメーターに別名を指定したり、検証属性を指定したりすることもできません。 これに対し、Parameters
属性などの属性を使用して、スタンドアロン コマンドレットでパラメーターの特性を指定できます。
プロバイダー コマンドレットの動的パラメーター
コマンドレット プロバイダーの動的パラメーターは、スタンドアロン コマンドレットの動的プロバイダーに似ています。 どちらの場合も、path
パラメーターなど、既定のパラメーターの 1 つに特定の値を指定すると、パラメーターがコマンドレットに追加されます。 ただし、すべての静的パラメーターを使用して動的パラメーターの追加をトリガーできるわけではありません。 動的パラメーターの詳細については、「プロバイダー コマンドレットの動的パラメーターの」を参照してください。
こちらもご覧ください
Windows PowerShell プロバイダー の作成の
PowerShell