Fonksiyon parametrelerinin baska parametrelerin degerlerine gore aktif olup olmamasi saglanabilir. Ornegin sayi parametresine verilen deger 4’ten buyukse, sayi2 parametresini kullanabilmeye izin vermek mumkundur, Bu durumda eger Sayi parametresinin degeri 4’ten kucukse sayi2 parametresi devredisi kalir ve kullanici bu parametreyi fonksyion icinde kullanamaz.
function Dinamik-Sayilar {
[CmdletBinding()]
Param([string]$sayi)
DynamicParam
{
if ($sayi -gt 4 )
{
$parameterAttribute = [System.Management.Automation.ParameterAttribute]@{
ParameterSetName = "Set1"
Mandatory = $false
}
$attributeCollection = [System.Collections.ObjectModel.Collection[System.Attribute]]::new()
$attributeCollection.Add($parameterAttribute)
$dynParam1 = [System.Management.Automation.RuntimeDefinedParameter]::new(
'sayi2', [Int32], $attributeCollection
)
$paramDictionary = [System.Management.Automation.RuntimeDefinedParameterDictionary]::new()
$paramDictionary.Add('sayi2', $dynParam1)
return $paramDictionary
}
}
process {$sonuc = $sayi+$sayi2
$sonuc
}
}
