Send-MailMessage: Невозможно преобразовать «System.Object []» в тип «System.String», требуемый параметром «Body». Указанный метод не поддерживается - PullRequest
0 голосов
/ 12 апреля 2019

Я пытаюсь отправить электронное сообщение с помощью powershell.То, что тело письма будет содержать результаты запускаемой мной команды Get-ADuser, которая хранится в переменной.Когда я пытаюсь выполнить приведенный ниже код, я получаю сообщение об ошибке «Send-MailMessage: невозможно преобразовать« System.Object [] »в тип« System.String », требуемый параметром« Body ». Указанный метод не поддерживается.»

Что-то не так с тем, что я здесь делаю?

$Value = Get-ADUser -Filter * -Properties propery.. | foreach { $_.propery..}
Send-MailMessage -From $From -To $To -Subject $Subject -Body $Value 

1 Ответ

1 голос
/ 12 апреля 2019

Параметр -body ожидает, что ему будет передана строка. Вам нужно будет преобразовать переменную в строку типа или изменить ее значение в строку. Вы можете сделать это разными способами.

Send-MailMessage -From $From -To $To -Subject $Subject -Body ($Value | Out-String)

Out-String работает здесь, потому что он берет ваш объект ($Value), который является объектом с одним массивом , содержащим несколько объектов ADUser, и преобразует его в одну строку.

Подробнее см. Out-String .

...