cls
if((Get-PSSnapin | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"}) -eq $null) {
Add-PSSnapin Microsoft.SharePoint.PowerShell;
}
$sourceWebURL = "xxxxxxxxxxxxxxxxx"
$sourceListName = "xxxxxxxxxxxxxx"
$spSourceWeb = Get-SPWeb $sourceWebURL
$spSourceList = $spSourceWeb.Lists[$sourceListName]
$StartDate=(GET-DATE -format d)
$spSourceItems = $spSourceList.GetItems()
$spSourceItems | ForEach-Object {
$EndDate=$_['Requirement Due Date m/d/y']
$diff=NEW-TIMESPAN –Start $StartDate –End $EndDate
write-host $diff
}
您好以下是我的powershell脚本及其下面的错误,即实际的powershell脚本。我是powershell的新手 - 我知道我正在做一些显而易见和愚蠢的事情 - 任何帮助都会受到赞赏。
所有它应该做的是从日期格式的sharepoint列表中读取一列并将其与今天的日期进行比较 - 如果diff为0则执行某些操作 - 否则执行其他操作 - 但是 - 我不断收到错误< / p>
72.00:00:00 10052.00:00:00 10052.00:00:00 10052.00:00:00 10052.00:00:00 10052.00:00:00 8402.00:00:00 34.00:00:00 8163.00:00:00 -94.00:00:00 8402.00:00:00 388.00:00:00 8801.00:00:00 10619.00:00:00 8886.00:00:00 8887.00:00:00 415.00:00:00 8481.00:00:00 New-TimeSpan:无法绑定参数&#39; End&#39;到了目标。异常设置&#34;结束&#34;:&#34;对象引用未设置为实例 一个对象。&#34; 在行:16 char:42 + $ diff = NEW-TIMESPAN -Start $ StartDate -End&lt;&lt;&lt;&lt; $结束日期 + CategoryInfo:WriteError:(:) [New-TimeSpan],ParameterBindingException + FullyQualifiedErrorId:ParameterBindingFailed,Microsoft.PowerShell.Commands.NewTimeSpanCommand
8481.00:00:00 New-TimeSpan:无法绑定参数&#39; End&#39;到了目标。异常设置&#34;结束&#34;:&#34;对象引用未设置为实例 一个对象。&#34; 在行:16 char:42 + $ diff = NEW-TIMESPAN -Start $ StartDate -End&lt;&lt;&lt;&lt; $结束日期 + CategoryInfo:WriteError:(:) [New-TimeSpan],ParameterBindingException + FullyQualifiedErrorId:ParameterBindingFailed,Microsoft.PowerShell.Commands.NewTimeSpanCommand
8481.00:00:00 302.00:00:00 3589.00:00:00 272.00:00:00 9067.00:00:00 302.00:00:00
答案 0 :(得分:0)
因此,创建一个实际上会为您提供[TimeDate]
对象的子表达式。
$diff = (NEW-TIMESPAN –Start $StartDate –End $(Get-Date $_['Requirement Due Date m/d/y']))
答案 1 :(得分:0)
Cheerio!