พารามิเตอร์ไดนามิก cmdlet ของผู้ให้บริการ
ผู้ให้บริการสามารถกำหนดพารามิเตอร์แบบไดนามิกที่เพิ่มลงใน cmdlet ของผู้ให้บริการเมื่อผู้ใช้ระบุค่าที่แน่นอนสำหรับพารามิเตอร์คงที่ตัวใดตัวหนึ่งของ cmdlet ตัวอย่างเช่น ผู้ให้บริการสามารถเพิ่มพารามิเตอร์ไดนามิกที่แตกต่างกันตามเส้นทางที่ผู้ใช้ระบุเมื่อพวกเขาเรียก cmdlets ของผู้ให้บริการ Get-Item หรือ Set-Item
วิธีการพารามิเตอร์แบบไดนามิก
พารามิเตอร์แบบไดนามิกถูกกำหนดโดยการใช้วิธีพารามิเตอร์แบบไดนามิกวิธีใดวิธีหนึ่ง เช่น วิธี System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* และ System.Management.Automation.Provider.SetItemDynamicParameters.SetItemDynamicParameters* วิธีการเหล่านี้ส่งกลับวัตถุที่มีคุณสมบัติสาธารณะที่ได้รับการตกแต่งด้วยแอตทริบิวต์ที่คล้ายกับของ cmdlet ของสแตนด์อโลน นี่คือตัวอย่างของการใช้งานเมธอด System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* ที่นำมาจากผู้ให้บริการใบรับรอง:
protected override object GetItemDynamicParameters(string path)
{
return new CertificateProviderDynamicParameters();
}
ไม่เหมือนกับพารามิเตอร์คงที่ของ cmdlets ของผู้ให้บริการ คุณสามารถระบุคุณสมบัติของพารามิเตอร์เหล่านี้ได้ในลักษณะเดียวกับที่พารามิเตอร์ถูกกำหนดไว้ใน cmdlets แบบสแตนด์อโลน นี่คือตัวอย่างของคลาสพารามิเตอร์แบบไดนามิกที่นำมาจากผู้ให้บริการใบรับรอง:
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();
}
พารามิเตอร์แบบไดนามิก
นี่คือรายการพารามิเตอร์คงที่ที่สามารถใช้เพื่อเพิ่มพารามิเตอร์แบบไดนามิก
Clear-Contentcmdlet - คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยพารามิเตอร์Pathของ Clear-Clear cmdlet ได้โดยใช้ System.Management.Automation.Provider.IContentCmdletProvider วิธีการ ClearContentDynamicParameters*-
Clear-Itemcmdlet - คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยพารามิเตอร์Pathของ cmdletClear-Itemได้โดยใช้ System.Management วิธีการ .Automation.Provider.ItemCmdletProvider.ClearItemDynamicParameters* Clear-ItemPropertycmdlet - คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยพารามิเตอร์Pathของ cmdletClear-ItemPropertyได้โดยใช้ System.Management วิธีการ .Automation.Provider.IPropertyCmdletProvider.ClearPropertyDynamicParameters*Copy-Itemcmdlet - คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยพารามิเตอร์Path,DestinationและRecurseของCopy-Itemcmdlet โดยใช้เมธอด System.Management.Automation.Provider.ContainerCmdletProvider.CopyItemDynamicParameters*Get-ChildItemcmdlet - คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยพารามิเตอร์PathและRecurseของGet-ChildItemรหัส > cmdlet โดยใช้วิธี System.Management.Automation.Provider.ContainerCmdletProvider.GetChildItemsDynamicParameters* และ System.Management.Automation.Provider.ContainerCmdletProvider.GetChildNamesDynamicParameters*Get-Contentcmdlet - คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยพารามิเตอร์PathของGet-Contentcmdlet ได้โดยใช้ System.Management วิธีการ .Automation.Provider.IContentCmdletProvider.GetContentReaderDynamicParameters*Get-Itemcmdlet - คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยพารามิเตอร์Pathของ cmdletGet-Itemได้โดยใช้ System.Management วิธีการ .Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters*Get-ItemPropertycmdlet - คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยพารามิเตอร์PathและNameของGet-ItemPropertyรหัส> cmdlet โดยใช้เมธอด System.Management.Automation.Provider.IPropertyCmdletProvider.GetPropertyDynamicParameters*Intake-Itemcmdlet - คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยพารามิเตอร์Pathของ cmdletIntake-Itemได้โดยใช้ System.Management วิธีการ .Automation.Provider.ItemCmdletProvider.InurgeDefaultActionDynamicParameters*Move-Itemcmdlet - คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยพารามิเตอร์PathและDestinationของMove-Itemรหัส> cmdlet โดยใช้เมธอด System.Management.Automation.Provider.NavigationCmdletProvider.MoveItemDynamicParameters*New-Itemcmdlet - คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยพารามิเตอร์Path,ItemTypeและValueของ cmdletสินค้าใหม่โดยใช้เมธอด System.Management.Automation.Provider.ContainerCmdletProvider.NewItemDynamicParameters*-
New-ItemPropertycmdlet - คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยPath,Name,PropertyTypeและ พารามิเตอร์Valueของ cmdletNew-ItemPropertyโดยใช้เมธอด System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.NewPropertyDynamicParameters* New-PSDrivecmdlet - คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยออบเจ็กต์ System.Management.Automation.PSDriveInfo ที่ส่งคืนโดย cmdletNew-PSDriveโดยการนำ System.Management ไปใช้ วิธีการ .Automation.Provider.DriveCmdletProvider.NewDriveDynamicParameters*Remove-Itemcmdlet - คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยพารามิเตอร์PathและRecurseของRemove-Itemรหัส > cmdlet โดยใช้วิธี System.Management.Automation.Provider.Containercmdletprovider.Removeitemdynamicparameters*Remove-ItemPropertycmdlet - คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยพารามิเตอร์PathและNameของRemove-ItemPropertyรหัส> cmdlet โดยใช้เมธอด System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.RemovePropertyDynamicParameters*Rename-Itemcmdlet - คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยพารามิเตอร์PathและNewNameของRename-Itemรหัส> cmdlet โดยใช้เมธอด System.Management.Automation.Provider.Containercmdletprovider.Renameitemdynamicparameters*Rename-ItemProperty- คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยพารามิเตอร์Path,NameและNewNameของRename-ItemPropertycmdlet โดยใช้เมธอด System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.RenamePropertyDynamicParameters*Set-Contentcmdlet - คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยพารามิเตอร์Pathของ cmdletSet-Contentได้โดยใช้ System.Management วิธีการ .Automation.Provider.IContentCmdletProvider.GetContentWriterDynamicParameters*Set-Itemcmdlet - คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยพารามิเตอร์PathและValueของSet-Itemรหัส> cmdlet โดยใช้เมธอด System.Management.Automation.Provider.ItemCmdletProvider.SetItemDynamicParameters*Set-ItemPropertycmdlet - คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยพารามิเตอร์PathและValueของSet-Itemรหัส> cmdlet โดยใช้เมธอด System.Management.Automation.Provider.IPropertyCmdletProvider.SetPropertyDynamicParameters*Test-Pathcmdlet - คุณสามารถกำหนดพารามิเตอร์แบบไดนามิกที่ถูกทริกเกอร์โดยพารามิเตอร์Pathของ cmdletTest-Pathได้โดยใช้ System.Management วิธีการ .Automation.Provider.ItemCmdletProvider.InurgeDefaultActionDynamicParameters*
ดูเพิ่มเติม
การเขียนผู้ให้บริการ Windows PowerShell