【发布时间】:2017-06-08 09:03:49
【问题描述】:
我正在使用标准的 SendMessage 命令在 PowerShell 脚本中发送电子邮件。我想附加一个日志文件,但不幸的是日志文件被父脚本锁定。
有没有办法将文件作为附件发送(我不想删除或写入)?
我知道我可以使用Get-Content 读取该文件,我是否应该将此输出通过管道传输到一个新的临时文件,然后附加该文件?如果这行得通,我将如何去做。
【问题讨论】:
-
锁定的文件被锁定。您可以找到并强制关闭父进程对该文件的句柄,但我不建议这样做,因为它可能会破坏父进程的操作。如果您可以通过
Get-Content读取文件,您的邮件客户端也应该能够读取该文件。如果您可以控制父级,请尝试使其不要一直保持文件打开。否则我会说你不走运。 -
如果您使用的“标准 SendMessage 命令”是
Send-MailMessage,那么请更新您的问题,否则人们可能会怀疑您是否使用了不同的东西(这可能非常重要)。 -
你真的在使用 powershell-v1.0(根据标签)吗?使用
$host检查 PowerShell 的版本。同样关于标签的话题,sendmessage 标签指的是非电子邮件功能。 -
由于他声称使用的是 PowerShell v1(我删除了文本中的提及并添加了适当的标签),因此他没有
Send-MailMessage。 AFAIK cmdlet 是在 PowerShell v2 中引入的。 -
问题不是关于如何发送邮件,而是如何附加锁定的文件。
标签: powershell email locked powershell-1.0