Unfortunately, you cannot. From: about_powershell_exe
Note
The File parameter cannot support scripts using a parameter that expects an array of argument values. This, unfortunately, is a limitation of how a native command gets argument > values. When you call a native executable (such as powershell or pwsh), it does not know what to do with an array, so it's passed as a string.
However, you can do something like this:
POWERSHELL.EXE -ExecutionPolicy Bypass -File C:\Scripts\Verb-Noun.ps1 -Pattern "'abc def*','ghi jkl','mno pqr*'"
. . . with the script handling to string-to-array conversion:
param (
$pattern
)
$pat = $pattern -split ','
$pat
Which will work IF there are no commas in the patterns. If there is the possibility of commas in the patterns, then a bit of creative work with a regex should be able to get you around that.