I cannot reproduce that result:
$script = @'
param($Location)
($location).count
Foreach ($loc in $Location)
{
$loc
}
'@
$script | sc test.ps1
.\test.ps1 sydney,london
2 sydney london
Edit: This works:
$args.count
Foreach ($loc in $args)
{
$loc
}
Called as: powershell.exe -file c:\test.ps1 sydney london