Email robocopy找不到指定的路径

Email robocopy找不到指定的路径,email,powershell,robocopy,Email,Powershell,Robocopy,每当我尝试运行此代码时,它都无法找到robocopy的驱动器L:和Q:。我可以在Windows资源管理器中查看驱动器。我有一个几乎相同的PowerShell脚本,可以毫无问题地运行它。出于明显的安全原因,我已从电子邮件参数中删除了电子邮件地址和密码 在调用试图引用驱动器的Main之后,您将驱动器设置为“轻松复制”。尝试将$main=main移动到日志$main之前。另外,subst用于将本地路径映射到驱动器号。“我认为它对UNC路径不起作用。我也在想这一点,”AnsgarWiechers说New

每当我尝试运行此代码时,它都无法找到
robocopy
的驱动器L:和Q:。我可以在Windows资源管理器中查看驱动器。我有一个几乎相同的PowerShell脚本,可以毫无问题地运行它。出于明显的安全原因,我已从电子邮件参数中删除了电子邮件地址和密码

在调用试图引用驱动器的Main之后,您将驱动器设置为“轻松复制”。尝试将
$main=main
移动到
日志$main
之前。另外,
subst
用于将本地路径映射到驱动器号。“我认为它对UNC路径不起作用。我也在想这一点,”AnsgarWiechers说
New PsDrive
New SmbMapping
net use
是实现这一点的典型方法。因此,将$main=main更改为刚好位于我使用它的位置上方似乎可以很好地完成副本。我在windows 10上使用subst for UNC路径时没有遇到任何问题,但在任何服务器环境中运行时似乎都有问题。
#Variables
$logfile = "\\hermamora\Public\Plex Backup\Logs\Plex_Backup_Log_$(get-date -format "yyyyMMdd").txt"

function log($string, $color)
{
   if ($Color -eq $null) {$color = "white"}
   Write-Host $string -ForegroundColor $color
   $string | Out-File -Filepath $logfile -Append
}

function Main {
    robocopy Q:\ L:\ /v /mir /z /r:1 /w:5 
}
$main = Main

#Arguments for Email
$From = "FROMADDRESS"
$To = "TOADDRESS"
#$Attachment = $logfile
$Subject = "Plex Backup Success"
$Body = "Here is the log of the Plex DB Backup, It was able to complete successfully"
$SMTPServer = "smtp.gmail.com"
$SMTPPort = "587"
$login = "USERNAME"
$password = "PASSWORD" | ConvertTo-SecureString -AsPlainText -Force
$credentials = New-Object System.Management.Automation.Pscredential -Argumentlist $login,$password

#Main Script

#Sets up Drives for Easy copy
subst L: "\\hermamora\Public\Plex Backup\Backup" 
subst Q: "C:\Users\ztownes\AppData\Local\Plex Media Server"

#Stops Plex and Copies DB
taskkill /IM "Plex Media Server.exe" 
Start-Sleep -Seconds 15
log $main
Start-Sleep -Seconds 15
Start-process "C:\Program Files (x86)\Plex\Plex Media Server\Plex Media Server.exe" 

#Removes Drives for unclutering
subst /d L:
subst /d Q:
Start-Sleep -Seconds 5

#Sends Email
Send-MailMessage -From $From -To $To -Cc $Cc -Subject $Subject -Body $Body -SmtpServer $SMTPServer -Port $SMTPPort -UseSsl -Credential $credentials -Attachments $logfile

Start-Sleep -Seconds 5