从任务计划程序运行时,Powershell 会产生不同的结果

从任务计划程序运行时,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”驱动器中的内容进行测试:

文件列表

从 powershell 编辑器运行时,我获取最新文件 (20170720 (星期四).bak)。从 Windows 任务计划程序运行时,我获取 20170717 (星期一).bak。我使用同一个帐户运行,不知道发生了什么。

有任何想法吗?

拉里

答案1

(由于某种原因无法访问其他帐户...原始发帖者在这里)。我检查了映射驱动器,两者上都一样。尝试使用不同的权限运行,结果相同。最终匹配文件名的前 8 个字符(以下示例):

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

(从任务计划程序和通过 PS 编辑器运行时有效)

感谢大家的帮助!现在仍然是/曾经是奇怪的行为。

相关内容