我有一个简单的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 回答
尝试指定完整的UNC路径而不是网络驱动器 . (网络驱动器是每用户配置项 . )
将驱动器映射为临时PowerShell驱动器...将以下内容添加为脚本的第一行