-2

Я новичок в PowerShell и пытаюсь сравнить два файла с помощью PowerShell ... а также отправлять уведомления по электронной почте. Ниже код есть ..

$from = "D:\\Program Files\\ibm\\cognos\\tm1_64\\cmplst.txt" 
$to = "C:\\compare"  
Copy-Item $from $to -Recurse -Force
$From = "xxx@gmail.com"
$To = "xxxx@gmail.com"
$Cc = "xxxx@gmail@gmail"
$Subject = "String Comparison"
$Body = (Compare-Object (Get-Content C:\\compare\\cmplst-1.txt) (Get-Content C:\\compare\\cmplst.txt) -includeequal).InputObject
foreach($line in $comparison)
{
  $Body+= $line
}
$SMTPServer = "smtp.gmail.com"
$SMTPPort = "587"
Send-MailMessage -From $From -to $To -Cc $Cc -Subject $Subject -Body $Body -SmtpServer $SMTPServer -port $SMTPPort -UseSsl -Credential xxx@gmail.com\xxx(password og gmail)
EOH

Может кто-нибудь, пожалуйста, дайте мне знать, в чем ошибка и получить ниже ошибки ...

 "Cannot convert 'System.Object[]'
to the
    type 'System.String' required by parameter 'Body'. Specified method is not supported"

1 ответ1

2
Send-MailMessage -From $From -to $To -Cc $Cc -Subject $Subject -Body ($Body|out-string) -SmtpServer $SMTPServer -port $SMTPPort -UseSsl -Credential xxx@gmail.com\xxx(password og gmail)

Это определенно отформатирует тело как строку для команды Send-MailMessage

Изменить: Вы можете в конечном итоге обнаружить, что вы получите тип объекта вместо текста.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .