В Powershell я пытаюсь передать массив в качестве аргумента второму сценарию, однако, согласно отладчику, этот сценарий управляется вторым сценарием как объект system.collection.hashtable. Как я могу это исправить?
код вызывающего скрипта
$images = @{
image1 = "$dir\welcomeMessageAtaP1_files\image001.jpg"
}
..\sendmail.ps1 –subject $subject1 –body $fixed3 -recipient $personalemail -images $images
код sendmail.ps1
param (
[string]$subject = "** EMPTY **",
[string]$body = "** EMPTY **",
[string]$recipient = "email@somedomain",
[string[]] $images=@()
)
$params = @{
InlineAttachments = $images
Body = $body
BodyAsHtml = $true
Subject = $subject
From = "emailsender@somedomain"
To = $recipient
SmtpServer = 'smtp.gmail.com'
Port = 587
UseSsl = $true
}
Send-MailMessage @params -Credential $cred
Выдает ошибку «Send-MailMessage: не удается обработать преобразование аргумента для параметра« InlineAttachments ». Не удается преобразовать значение« System.String [] »типа« System.String [] »в тип« System.Collections.Hashtable » .
Попытался также изменить параметр на [string] $images=@()