如何在PowerShell中将相对路径文本文件作为电子邮件附件发送?
你好堆栈溢出社区,对于一个安全类,我试图复制一个“坏”USB插入,然后通过Outlook发送一个生成的文本文件给收件人。如何在PowerShell中将相对路径文本文件作为电子邮件附件发送?
我会说我是PowerShell的新手,所以这可能是简单的,我只是不明白。
我无法获得$ var1工作的相对路径。
当我使用绝对路径生成的文件时,它发送附件罚款。
我试图使用Get-ChildItem e:\ -filter "*.txt"
动态填充这个变量,但是当它到达它与Error while invoking Add. Could not find member.
同时打破了.Attchments.Add($var1)
,就可以了.Count之间的函数并返回1,表示该文件那里。
我找不到这个错误意味着什么。使用Google文档搜索错误会导致错误,因为它与Powershell中的编程有关。我试着在Get-ChildItem声明和各种其他语法调整的基础上尝试与'
搞混了。到目前为止,我还没有找到一种很好的替代方式来决定发送电子邮件。为此确保SMTP安全并不现实,因为它不适合这种情况。
New-Item -Path E:\ -Name "DynamicNameOfPC" -ItemType "file" -Value "Test"
(Get-ChildItem e:\ -filter "*.txt").Count
$var1 = Get-ChildItem e:\ -filter "*.txt"
$OL = New-Object -ComObject outlook.application
Start-Sleep 5
#Create Item
$mItem = $OL.CreateItem("olMailItem")
$mItem.To = "[email protected]"
$mItem.Subject = "Testing Script"
$mItem.Body = "Testing"
$mItem.Attachments.Add($var1)
$mItem.Send()
`
通过与上一个不和谐的随机用户分析,我们能够实现将Get-ChildItem渐渐的文件名,但不是完整的路径。
在$var1
之前添加一个变量,路径为E:\使它完美工作。
我建议你阅读并理解[TessellatingHeckler的评论](https://stackoverflow.com/questions/44877511/how-can-i-get-a-relative-path-text-file-to-be-sent-as- AN-电子邮件附件功能于POW#comment76734981_44877511)。 ['Get-ChildItem'](https://msdn.microsoft.com/en-us/powershell/reference/5.0/microsoft.powershell.management/get-childitem)返回[FileInfo](https://msdn.microsoft .com/en-us/library/system.io.fileinfo_properties(v = vs.110).aspx)和[DirectoryInfo](https://msdn.microsoft.com/zh-cn/library/system.io.directoryinfo (v = vs.110).aspx),其中包括完整路径作为属性'Fullname'。 – gms0ulman
相对路径?相对于什么?这将如何帮助?听起来像一只红鲱鱼。 'Get-ChildItem'不会将路径名作为字符串返回,它会返回FileInfo对象,这可能会破坏add()。如果绝对路径工作(他们应该),那么'$ var1.FullName'应该可以工作。 – TessellatingHeckler
感谢您对.FullName函数的解释。这和我在自我回答中所做的操纵方式一样。 .FullName显然是一个更好的解决方案。 – Athorith