powershell 中的日期/时间条件 - SharePoint - LastItemModifiedDate - LastRunTime

Date / Time condition in powershell - SharePoint - LastItemModifiedDate - LastRunTime

我正在制作一个从系统收集两个日期的脚本。一个来自计划任务最后一次 运行 和列表最后一次修改的日期。问题是日期时间格式不正确。

  1. SPList 中的 LastItemModifiedDate - 输出格式 04/09/2015 12:48:48
  2. 来自计划任务的 LastRunTime - 输出格式 09.04.2015 10:50:03

我想做的是检查自上次调度任务运行后列表是否有变化。

$scheduledTask = Get-ScheduledTask -TaskName "SharePoint scheduling" | Get-ScheduledTaskInfo
$scheduledTaskLastRunTime = $scheduledTask.LastRunTime

$listExist = $spSourceWeb.Lists | where{$_.Title -eq $listName}
    if($listExist)
    {
        $spSourceList = $spSourceWeb.Lists[$listName]

        if ($scheduledTaskLastRunTime -le $spSourceList.LastItemModifiedDate)
        {
            Write-Host " Changes found" -ForegroundColor Green
            SetListColumnToCopy($listName)
        }

我的 IF 是否正确?我需要做什么魔术来检查日期时间? 我读过 "don't need a special format to compare dates in Powershell" 但在这种情况下是真的吗?

您应该使用 DateTime class 中的 ParseExact 静态方法。

$dateToCompare = [datetime]::ParseExact("09.04.2015 10:50:03","MM.dd.yyyy hh:mm:ss", $null)