Windows 凭据在PowerShell脚本中提示发送邮件消息
我对Windows 凭据在PowerShell脚本中提示发送邮件消息,windows,powershell,office365,Windows,Powershell,Office365,我对PowerShell相当陌生 我已经编写了一个PowerShell脚本来通过电子邮件发送某些文件。我注意到,每次运行脚本时,它都会提示我输入凭据。我进一步了解到,我必须键入准确的一个,除非结果是错误的 我已将PowerShell脚本设置为Windows 10中的任务计划程序 计算机,但尽管以具有本地权限的用户身份登录,它仍会提示 管理员权利;我还授予Run最高权限 在任务计划程序中创建任务时 我正在尝试使用Active Directory从Office 365服务发送 Azure中的用户 我
PowerShell
相当陌生
我已经编写了一个PowerShell
脚本来通过电子邮件发送某些文件。我注意到,每次运行脚本时,它都会提示我输入凭据。我进一步了解到,我必须键入准确的一个,除非结果是错误的
我已将PowerShell脚本设置为Windows 10中的任务计划程序
计算机,但尽管以具有本地权限的用户身份登录,它仍会提示
管理员权利;我还授予Run最高权限
在任务计划程序中创建任务时
我正在尝试使用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
任务您的错误是因为缺少告诉PoShsmtpCredential
是一个变量的$
。[grin]您删除了告诉PoSh“这是一个变量”的$
。[咧嘴笑]@Lee_Dailey这些小错误让我付出了很多代价!谢谢你指出这一点。请指定您的评论作为答案,我将予以确认。再次感谢你!考虑使用避免冗长的命令,错误容易被忽略。很高兴你让它工作了。。。[咧嘴笑]@lotPings非常感谢您的回复,splatting
无疑是我此刻需要研究的一件有价值的事情