凭据提示在PowerShell脚本中输入Send-MailMessage

时间:2019-04-05 12:22:22

标签: windows powershell office365

我对PowerShell很陌生。

我已经完成了一个PowerShell脚本来通过电子邮件发送某些文件。我注意到,每次运行脚本时,都会提示我输入凭据。我进一步了解到,除非结果和错误,否则我必须键入确切的一个。

  

我已在Windows 10中将PowerShell脚本设置为Task Scheduler   机器,但是尽管以具有本地用户身份的用户身份登录,它仍然会提示   管理员权限;我还给了“以最高特权运行”   在任务计划程序中创建任务时。

     

我正在尝试从带有Active Directory的Office 365服务发送   Azure中的用户。

我的目标是避免使用PowerShell脚本来提示输入凭据。请帮助我。

我的代码:

#smtp Credential
$smtpKey = ConvertTo-SecureString "[My Password]" -AsPlainText -Force
$smtpCredential = New-Object System.Management.Automation.PSCredential ("[MyUserName]", $smtpKey)

#Credentials are prompted here
Send-MailMessage -From $From -to $To -Cc $Cc -Subject $Subject -Body $Body -SmtpServer $SMTPServer -port $SMTPPort -UseSsl -Credential smtpCredential -Attachments $filePath  

更新

正如@Lee_Dailey在他的回答中指出的那样,我错过了$变量smtpCredential中我正在调用Send-MailMessage任务的地方

1 个答案:

答案 0 :(得分:1)

您的错误是由于缺少export ORACLE_BASE='{{ ORA_BASE }}' export ORACLE_HOME='{{ ORA_HOME }}' export ORACLE_SID='{{ SID }}' PATH=$PATH:$ORACLE_HOME/bin echo "Testing remote access to $HOSTNAME/$SID via sqlplus" echo "select * from dual;" | sqlplus scott/tiger@//$HOSTNAME:1521/$ORACLE_SID 来告诉PoSh $是变量而引起的。 [咧嘴]