繁体   English   中英

Powershell移动项到网络文件夹在Windows 2012 Task Scheduler中不起作用

[英]powershell move-item to a network folder doesn't work in windows 2012 task scheduler

我有以下PowerShell代码:

$files = Get-ChildItem E:\Local_Files\Performance\*.txt -Recurse
foreach ($file in $files) {
    (Get-Content $file.PSPath) |
    Where-Object { $_.Trim() -ne "" } |
    Set-Content $file.PSPath
}

Move-Item -Path E:\Local_Files\Performance\*.* -Destination E:\Local_Files\ -Force

它将删除文件夹中所有文件的空行。 然后,它将该文件夹上的所有文件移动到第二个文件。 Z:\\是网络文件夹的映射网络驱动器。 如果我在PowerShell中运行脚本,则可以正常工作。 当我在“任务计划程序”中计划它时,它仅适用于第一位( Trim()方法)。

在两种情况下,我都设置了相同的用户名来运行作业。 如果我使用本地文件夹作为移动项的目标,则它也可以在任务计划程序中使用。

您知道为什么它可能不起作用吗?

我在Windows Server 2012 R2上。

非常感谢,

仅当用户以交互方式登录时才映射映射的驱动器。 对于预定任务,没有交互式登录,因此没有映射的驱动器,因此任何使用它们的尝试都将失败。

您可以:

  • 使用New-PSDrive在脚本中映射驱动器号
  • 使用UNC路径到共享(首选方法)。

还请记住,执行任务所使用的用户帐户必须对该UNC路径/共享具有适当的权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM