Hi,
starting point is a simple powershell shell script testarray.ps1:
[CmdletBinding()] Param( [Parameter(Mandatory=$false,Position=1)][alias("a")][string[]]$ArrayParameter=@() ) write-host "Count:" $ArrayParameter.Count
Calling from a powershell window it is straightforward:
PS D:\> .\testarray.ps1 -a Parameter1,Parameter2 <pre>Count:2</pre>
But if it is called from a cmd shell it is always interpreted as a single string
D:\> powershell.exe -file D:\testarray.ps1 -a Parameter1,Parameter2 Count:1
To get this working use the -Command Parameter instead of the -File parameter and set the Argument between quotation marks
D:\> powershell.exe -Command D:\testarray.ps1 -a "Parameter1,Parameter2" Count:2
Michael