我对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
任务的地方
答案 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 $
是变量而引起的。 [咧嘴]