Double check the proper way to use string variables in powershell. It might not be expanding the argument list the way you think it is.
For example, the following has variables $reportdate1 and $reportdate2 But see how the -a parameter (including the -a is in single quotes, with the actual parameter’s values in the double quotes.
-ArgumentList @('-f"C:\ProgramData\ReportViewer\Reports\Speed of Service Summary"', '-o"C:\SMTP\Generated\SpeedofService.pdf"', '-a"Date:$reportdate1,$reportdate2"', '-epdf') -wait
There are many ways tp skin this cat. But the way powershell expands those strings into other strings can get quite messy.
edit
To provide a bit more clarity on the above…
That argument list has 4 parameters
-f"C:\ProgramData\ReportViewer\Reports\Speed of Service Summary"
-o"C:\SMTP\Generated\SpeedofService.pdf"
-a"Date:$reportdate1,$reportdate2"
-epdf'
and each of those is enclosed in single quotes, like: 'f"C:\ProgramData\ReportViewer\Reports\Speed of Service Summary"'
with commas separating each single quoted parameter