我不知道這是否可以在參數級別來完成,而在代碼: 我有2個參數:$學校和$類PowerShell的兩個參數其中任何可以爲空但不能同時爲空
Get-Students -School SchooName # Will give me all Students name in all classes in that School
Get-Students -Class ClassName # Will give me all Students name in that Class across all schools
Get-Students # Should return parameter level error.
我試圖用以下幾點:
function Get-Students{
param(
[parameter(ParameterSetName="School no null")]
[ValidateNotNullOrEmpty()]
[string]$School,
[parameter(ParameterSetName="School no null")]
[AllowNull()]
[string]$Class,
[parameter(ParameterSetName="Class no null")]
[AllowNull()]
[string]$School,
[parameter(ParameterSetName="Class no null")]
[ValidateNotNullOrEmpty()]
[string]$Class
)
}
但它不以這種方式工作...
希望我解釋這個正確。或者如果沒有辦法可以從代碼內部的參數做到這一點?
感謝 河
非常感謝!我認爲這是正確的答案!這意味着該變量應該只出現一次,但具有不同的參數條件! –
@RiverYang確切。答案已更新。 – JosefZ