Я пытаюсь использовать набор параметров и использовать набор параметров по умолчанию. Но набор параметров по умолчанию, похоже, не работает для меня. Любая помощь горячо приветствуется. Я могу легко использовать набор проверки с действием по умолчанию, но я хочу знать, что я здесь делаю неправильно.
Param([cmdletbinding(DefaultParametersetname="Directory")]
[Parameter(Mandatory=$false,ParameterSetName="File")]
[switch]$file,
[Parameter(Mandatory=$false,ParameterSetName="Directory")]
[switch]$directory,
[Parameter(Mandatory=$false,ParameterSetName="File")]
[Parameter(Mandatory=$false,ParameterSetName="Directory")]
[string]$Source,
[Parameter(Mandatory=$true,ParameterSetName="File")]
[Parameter(Mandatory=$true,ParameterSetName="Directory")]
[string]$DestinationPath,
[Parameter(Mandatory=$false,ParameterSetName="Directory")]
[Parameter(Mandatory=$false,ParameterSetName="File")]
[array]$Servers
PS C:\> Test-Script -Source "c:\somedirectory" -DestinationPath "c:\someotherdirectory"
Test-Script: набор параметров не может быть разрешен с использованием указанных именованных параметров.
At line:1 char:1
+ Test-Script -Source "c:\somedirectory" -DestinationPath "c:\someotherdirectory"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Test-Script], ParameterBindingException< br> + FullyQualifiedErrorId: AmbiguousParameterSet, Test-Script