我正在为我的介绍CyberSec类开发一个项目(奖励积分),我有一个cmd脚本来创建一个带有usb驱动器信息的文件我试图使用powershell将电子邮件发送给我自己但是不断收到此错误:
At D:\mail.ps1:6 char:16
+ $att= $USBDRIVE\file.zip
+ ~~~~~~~~~
Unexpected token '\file.zip' in expression or statement.
+ CategoryInfo : ParserError: (:) [], ParseException
+ FullyQualifiedErrorId : UnexpectedToken
这是我的powershell脚本。
$USBDRIVE= Get-WMIObject Win32_Volume | ? { $_.label -eq 'ARNOLDHMW' } |
select -expand driveletter
Compress-Archive -Path $USBDRIVE\file -DestinationPath $USBDRIVE\file.zip
$email = "*"
$pass = "*"
$att= $USBDRIVE\file.zip
$smtpServer = "smtp.gmail.com"
$msg = new-object Net.Mail.MailMessage
$smtp = new-object Net.Mail.SmtpClient($smtpServer)
$smtp.EnableSSl = $true
$msg.From = "$email"
$msg.To.Add("$email")
$msg.IsBodyHTML = $true
$msg.Subject = "Files Captured"
$msg.Body = "
</br>
Hi there
"
$msg.Attachments.Add($att)
$SMTP.Credentials = New-Object System.Net.NetworkCredential("$email",
"$pass");
$smtp.Send($msg)
电子邮件和密码因显而易见的原因而被删除 我在这里不知所措。感谢您的帮助!
答案 0 :(得分:0)
我非常确定您遇到的问题是因为您传递给$att
的值不是字符串值。尝试将变量指定为字符串
$att = "$USBDrive\File.zip"
或更好
$att = Join-Path -Path $USBDrive -ChildPath "file.zip"