プロバイダー コマンドレットには、コマンドレットをサポートするすべてのプロバイダーが使用できる一連の静的パラメーターと、ユーザーがプロバイダー コマンドレットの特定の静的パラメーターに特定の値を指定したときに追加される動的パラメーターが付属しています。
プロバイダー コマンドレットの静的パラメーター
静的パラメーターは、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