无法使用Scheduler中的映射驱动器复制项目

时间:2016-02-18 19:01:09

标签: windows powershell scheduled-tasks

我有一个简单的PowerShell脚本,可以在映射的网络驱动器中复制文件,如果它在过去1天内被修改过。

$source = "Z:\\"
$target = "E:\target"
$files = get-childitem $source

foreach ($file in $files) {
  if($file.LastWriteTime -ge (get-date).AddDays(-1)) {
     Copy-Item $file.FullName $target
  }
}

如果我手动执行它,这个脚本运行正常。

如果我尝试使用计划任务,则副本不会运行。我通过让脚本创建目录来确认脚本正在运行。

如果我改为从本地驱动器而不是网络驱动器进行复制,则脚本可以通过计划任务正常运行。

计划任务作为管理员帐户运行。

从网络驱动器复制文件的脚本可以手动运行,但不能通过计划任务运行。如果从本地而不是网络驱动器复制,脚本可以正常运行。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

尝试指定完整的UNC路径而不是网络驱动器。 (网络驱动器是每用户配置项。)

答案 1 :(得分:0)

将驱动器映射为临时PowerShell驱动器...将以下内容添加为脚本的第一行

New-PSDrive -Name Z -PSProvider FileSystem -Root \\server\sharename