我有一个简单的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
}
}
如果我手动执行它,这个脚本运行正常。
如果我尝试使用计划任务,则副本不会运行。我通过让脚本创建目录来确认脚本正在运行。
如果我改为从本地驱动器而不是网络驱动器进行复制,则脚本可以通过计划任务正常运行。
计划任务作为管理员帐户运行。
从网络驱动器复制文件的脚本可以手动运行,但不能通过计划任务运行。如果从本地而不是网络驱动器复制,脚本可以正常运行。
有什么想法吗?
答案 0 :(得分:2)
尝试指定完整的UNC路径而不是网络驱动器。 (网络驱动器是每用户配置项。)
答案 1 :(得分:0)
将驱动器映射为临时PowerShell驱动器...将以下内容添加为脚本的第一行
New-PSDrive -Name Z -PSProvider FileSystem -Root \\server\sharename