Sağlayıcı cmdlet dinamik parametreleri
Sağlayıcılar, kullanıcı cmdlet'in statik parametrelerinden biri için belirli bir değer belirttiğinde sağlayıcı cmdlet'ine eklenen dinamik parametreleri tanımlayabilir. Örneğin, bir sağlayıcı, kullanıcının Get-Item veya Set-Item sağlayıcı cmdlet'lerini çağırırken belirttiği yola bağlı olarak farklı dinamik parametreler ekleyebilir.
Dinamik Parametre Yöntemleri
Dinamik parametreler, System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* ve System.Management.Automation.Provider.SetItemDynamicParameters.SetItemDynamicParameters* yöntemleri gibi dinamik parametre yöntemlerinden birinin uygulanmasıyla tanımlanır. Bu yöntemler, tek başına cmdlet'lerinkine benzer özniteliklerle süslenmiş ortak özelliklere sahip bir nesne döndürür. Sertifika sağlayıcısından alınan System.Management.Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* yönteminin uygulanmasına bir örnek:
protected override object GetItemDynamicParameters(string path)
{
return new CertificateProviderDynamicParameters();
}
Sağlayıcı cmdlet'lerinin statik parametrelerinden farklı olarak, bu parametrelerin özelliklerini, parametrelerin bağımsız cmdlet'lerde tanımlandığı şekilde belirtebilirsiniz. Sertifika sağlayıcısından alınan dinamik parametre sınıfının bir örneği:
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();
}
Dinamik Parametreler
Burada dinamik parametreler eklemek için kullanılabilecek statik parametrelerin bir listesi bulunmaktadır.
Clear-Contentcmdlet'i - System.Management.Automation.Provider.IContentCmdletProvider'ı uygulayarak Clear-Clear cmdlet'ininPathparametresi tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz. ClearContentDynamicParameters* yöntemi.-
Clear-Itemcmdlet'i - System.Management uygulamasını uygulayarakClear-Itemcmdlet'ininPathparametresi tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz. .Automation.Provider.ItemCmdletProvider.ClearItemDynamicParameters* yöntemi. Clear-ItemPropertycmdlet'i - System.Management'ı uygulayarakClear-ItemPropertycmdlet'ininPathparametresi tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz. .Automation.Provider.IPropertyCmdletProvider.ClearPropertyDynamicParameters* yöntemi.Copy-Itemcmdlet'i -Path,DestinationveRecurseparametreleri tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz.Copy-Itemcmdlet'inin System.Management.Automation.Provider.ContainerCmdletProvider.CopyItemDynamicParameters* yöntemini uygulayarak.Get-ChildItemcmdlet'i -Get-ChildItem'inPathveRecurseparametreleri tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz. System.Management.Automation.Provider.ContainerCmdletProvider.GetChildItemsDynamicParameters* ve System.Management.Automation.Provider.ContainerCmdletProvider.GetChildNamesDynamicParameters* yöntemlerini uygulayarak cmdlet'i kullanın.Get-Contentcmdlet'i - System.Management uygulamasını uygulayarakGet-Contentcmdlet'ininPathparametresi tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz. .Automation.Provider.IContentCmdletProvider.GetContentReaderDynamicParameters* yöntemi.Get-Itemcmdlet'i - System.Management'ı uygulayarakGet-Itemcmdlet'ininPathparametresi tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz. .Automation.Provider.ItemCmdletProvider.GetItemDynamicParameters* yöntemi.Get-ItemPropertycmdlet'i -Get-ItemProperty'inPathveNameparametreleri tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz. System.Management.Automation.Provider.IPropertyCmdletProvider.GetPropertyDynamicParameters* yöntemini uygulayarak cmdlet'i kullanın.Invoke-Itemcmdlet'i - System.Management uygulamasını uygulayarakInvoke-Itemcmdlet'ininPathparametresi tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz. .Automation.Provider.ItemCmdletProvider.InvokeDefaultActionDynamicParameters* yöntemi.Move-Itemcmdlet'i -Move-Item'inPathveDestinationparametreleri tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz. System.Management.Automation.Provider.NavigationCmdletProvider.MoveItemDynamicParameters* yöntemini uygulayarak cmdlet'i kullanın.Yeni Öğecmdlet'i -Path,ItemTypeveValueparametreleri tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz.New-Itemcmdlet'inin System.Management.Automation.Provider.ContainerCmdletProvider.NewItemDynamicParameters* yöntemini uygulayarak.-
New-ItemPropertycmdlet'i -Path,Name,PropertyTypeve tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz. System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.NewPropertyDynamicParameters* yöntemini uygulayarakNew-ItemPropertycmdlet'ininValueparametreleri. New-PSDrivecmdlet'i - System.Management'i uygulayarakNew-PSDrivecmdlet'inin döndürdüğü System.Management.Automation.PSDriveInfo nesnesi tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz. .Automation.Provider.DriveCmdletProvider.NewDriveDynamicParameters* yöntemi.Remove-Itemcmdlet'i -Remove-Item'inPathveRecurseparametreleri tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz. System.Management.Automation.Provider.Containercmdletprovider.Removeitemdynamicparameters* yöntemini uygulayarak cmdlet'i kullanın.Remove-ItemPropertycmdlet'i -Remove-ItemProperty'inPathveNameparametreleri tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz. System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.RemovePropertyDynamicParameters* yöntemini uygulayarak cmdlet'i kullanın.Rename-Itemcmdlet'i -Rename-Item'inPathveNewNameparametreleri tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz. System.Management.Automation.Provider.Containercmdletprovider.Renameitemdynamicparameters* yöntemini uygulayarak cmdlet'i kullanın.Rename-ItemProperty-Path,NameveNewNameparametreleri tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz. System.Management.Automation.Provider.IDynamicPropertyCmdletProvider.RenamePropertyDynamicParameters* yöntemini uygulayarakRename-ItemPropertycmdlet'ini kullanın.Set-Contentcmdlet'i - System.Management uygulamasını uygulayarakSet-Contentcmdlet'ininPathparametresi tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz. .Automation.Provider.IContentCmdletProvider.GetContentWriterDynamicParameters* yöntemi.Set-Itemcmdlet'i -Set-Item'inPathveValueparametreleri tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz. System.Management.Automation.Provider.ItemCmdletProvider.SetItemDynamicParameters* yöntemini uygulayarak cmdlet'i kullanın.Set-ItemPropertycmdlet'i -Set-Item'inPathveValueparametreleri tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz. System.Management.Automation.Provider.IPropertyCmdletProvider.SetPropertyDynamicParameters* yöntemini uygulayarak cmdlet'i kullanın.Test-Pathcmdlet'i - System.Management'ı uygulayarakTest-Pathcmdlet'ininPathparametresi tarafından tetiklenen dinamik parametreleri tanımlayabilirsiniz. .Automation.Provider.ItemCmdletProvider.InvokeDefaultActionDynamicParameters* yöntemi.
Ayrıca Bakınız
Windows PowerShell Sağlayıcısı Yazma