você precisa ter um param()
dentro do Scriptblock para receber os parâmetros que está enviando em ArgumentList
$MailParams = @{
To = $AddressTo
From = $AddressFrom
Subject = $Subject
Body = $Body
SMTPServer = $SMTPServer
#BodyAsHTML = $True
#Port = 587
#UseSSL = $True
#Credential = $mailCred
}
Start-Job { param($MailParams) ; Send-MailMessage @MailParams } -ArgumentList $MailParams
Eu sempre tento pensar em um scriptblock como uma função. em uma função você também precisa passar e receber Argumentos / Parâmetros. O mesmo vale para os blocos de script.