从Task Scheduler运行时,Powershell会产生不同的结果

我有一个简单的powershell脚本,运行良好,当我从powershell编辑器执行它,但是从Windows任务计划程序运行它时,会产生完全不同的结果。

原始代码如下…只是想从m:驱动器复制最新的文件。

$OriginalDir = "M:" $BackupDir = "c:\downloads\db" $LatestFile = Get-ChildItem -path m: -Name -ErrorAction SilentlyContinue | Sort-Object LastWriteDate -descending | select -last 1 Write-OutPut $LatestFile write-output $LatestFile | add-content C:\Scripts\Log.txt #Copy-Item -path $OriginalDir\$LatestFile $BackupDir\$LatestFile 

针对“M”驱动器中的内容进行testing:

文件列表

从powershell编辑器运行时,我得到最新的文件(20170720(星期四).bak)。 当我从Windows任务调度程序运行时,我得到20170717(星期一).bak。 我从同一个帐户运行,并且对正在发生的事情感到不知所措。

有任何想法吗?

拉里

(由于某种原因,不能访问其他帐户…原始海报在这里)。 我检查了映射的驱动器,两者都是一样的。 试过不同的权利运行,一样。 结束匹配文件名的前8个字符(如下所示):

 $filedate = (get-date).AddDays(-1).tostring('MMddyyyy') $LatestFile = Get-ChildItem -Path $OriginalDir -Name "$filedate*.bak" | Sort LastWriteTime | Select -First 1 

(从Task Scheduler和通过PS编辑器运行时,这工作)

感谢所有的帮助! 仍然是/是奇怪的行为。