Я хотел бы отправить электронное письмо из моего (существующего) .bat
, используя Send-MailMessage
.Поскольку он должен быть автоматизирован, я уже сохранил защищенный пароль до MailPW.txt
.В сценарии я хотел бы использовать его, но, к сожалению, переменная $cred
пуста (я также предполагаю, что $pw
).
...Rest of .bat Script (ROBOCOPY Commands)...
powershell -ExecutionPolicy ByPass -Command " & {$pw = Get-Content .\MailPW.txt | ConvertTo-SecureString}"
powershell -ExecutionPolicy ByPass -Command " & {$cred = New-Object System.Management.Automation.PSCredential "zyx@othermail.com", $pw} "
powershell -ExecutionPolicy ByPass -Command Send-MailMessage ^
-SmtpServer "smtp.office365.com" ^
-UseSsl ^
-To "xyz@mail.com" ^
-From "zyx@othermail.com" ^
-Subject "Testing" ^
-Body "Hello" ^
-Port "587" ^
-Encoding ([System.Text.Encoding]::UTF8) ^
-Credential $cred
Я также пытался
-Credential "& {New-Object System.Management.Automation.PSCredential "zyx@othermail.com", Get-Content .\MailPW.txt | ConvertTo-SecureString}"
как предложено здесь без какого-либо успеха.
По сути, я хочу установить $cred
var и использовать его в следующей команде, возможно ли это даже сэтот подход?