powershell 中的日期/时间条件 - SharePoint - LastItemModifiedDate - LastRunTime
Date / Time condition in powershell - SharePoint - LastItemModifiedDate - LastRunTime
我正在制作一个从系统收集两个日期的脚本。一个来自计划任务最后一次 运行 和列表最后一次修改的日期。问题是日期时间格式不正确。
- SPList 中的 LastItemModifiedDate - 输出格式 04/09/2015 12:48:48
- 来自计划任务的 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)
我正在制作一个从系统收集两个日期的脚本。一个来自计划任务最后一次 运行 和列表最后一次修改的日期。问题是日期时间格式不正确。
- SPList 中的 LastItemModifiedDate - 输出格式 04/09/2015 12:48:48
- 来自计划任务的 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)