Send-MailMessage 无法传递附件变量

Send-MailMessage unable to pass -attachment variable

我正在尝试 运行 以下脚本。在到达 -attachment 选项之前,它工作正常。

$Log = "c:\logs\%date:~-4,4%-%date:~-10,2%-%date:~-7,2%.log"
Send-MailMessage -From "helpdesk@myco.com" -to "my@myco.com" -Subject "test log" -Body "test body" -Smtpserver "mailserver.com" -port "25" -attachment $Log

PowerShell 不能使用批处理变量(%something% 就是这样)。在 PowerShell 中,您可以像这样获取 ISO 格式的当前日期:

Get-Date -f 'yyyy-MM-dd'

所以你的代码应该是这样的:

$Log = "C:\logs$(Get-Date -f 'yyyy-MM-dd).log"
Send-MailMessage -From "helpdesk@myco.com" -to "my@myco.com" -Subject ...