我正在使用標準的SendMessage命令在PowerShell腳本中發送電子郵件。我想附加一個日誌文件,但不幸日誌文件被父腳本鎖定。SendMessage發送已鎖定的附件
有沒有辦法發送該文件反正作爲附件(我不想刪除它或寫它)?
我知道我可以用Get-Content
讀取文件,我應該將這個輸出傳送給一個新的臨時文件,然後附上?如果這會起作用,我該如何去做這件事。
我正在使用標準的SendMessage命令在PowerShell腳本中發送電子郵件。我想附加一個日誌文件,但不幸日誌文件被父腳本鎖定。SendMessage發送已鎖定的附件
有沒有辦法發送該文件反正作爲附件(我不想刪除它或寫它)?
我知道我可以用Get-Content
讀取文件,我應該將這個輸出傳送給一個新的臨時文件,然後附上?如果這會起作用,我該如何去做這件事。
如果您可以使用Get-Content讀取內容,則Copy-Item應該可以工作。
將其複製爲臨時文件,發送並刪除它。
Copy-Item C:\My_log.log $env:TEMP
PowerShell 2.0和以上
Send-MailMessage -Attachments $env:TEMP\My_log.log .......
的PowerShell 1.0 - >PowerShell Send Email
Remove-Item $env:TEMP\My_log.log
'Send-MailMessage'在PowerShell v1中不可用。 –
鎖定文件被鎖定。你可以找到並強制關閉父文件對該文件的處理,但我不會建議這樣做,因爲它可能會破壞父進程的內容。如果你可以通過'Get-Content'讀取文件,你的郵件客戶端應該能夠讀取文件。如果您有權控制父項,請嘗試使其始終保持打開文件。否則,我會說你運氣不好。 –
如果你使用的「SendMessage標準命令」是Send-MailMessage,那麼請更新你的問題,否則人們可能會懷疑你是否在使用不同的東西(這可能很重要)。 –
你真的在使用powershell-v1.0(根據標籤)嗎?使用'$ host'檢查PowerShell的版本。關於標籤的話題,* sendmessage *標籤指的是非電子郵件功能。 –