[英]SharePoint Pnp PowerShell date query
我正在使用SharePoint Online,並希望使用PnP PowerShell構建查詢,以檢查日期字段Aviseringsdatum
中的任何日期是否等於今天的日期。 但是我的代碼仍然返回所有項目(當前列表中有2個項目。一個項目帶有今天的日期,另一個項目帶有昨天的日期)。 有任何想法嗎?
編碼
$Today = (Get-date).ToString( "yyyy-MM-ddTHH:mm:ss.fffffffZ" )
$ListItems = Get-PnPListItem -List "Avtal" -Query "
<Query>
<Where>
<eq>
<FieldRef Name='Aviseringsdatum' />
<Value IncludeTimeValue='TRUE' Type='DateTime'>$Today</Value>
</eq>
</Where>
</Query>
<ViewFields>
<FieldRef Name='Title' />
<FieldRef Name='Aviseringsdatum' />
<FieldRef Name='Avtalsansvarig' />
</ViewFields>
<QueryOptions />
";
您缺少CAML查詢中的<View>
屬性。
PnP PowerShell在內部使用CSOM。
要查詢CSOM中的列表項,您需要<View>
屬性。
因此,如下修改您的代碼:
$Today = (Get-date).ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ")
$camlQuery = $("<View>
<Query>
<Where>
<Eq>
<FieldRef Name='Aviseringsdatum' />
<Value IncludeTimeValue='TRUE' Type='DateTime'>$Today</Value>
</Eq>
</Where>
</Query>
<ViewFields>
<FieldRef Name='Title' />
<FieldRef Name='Aviseringsdatum' />
<FieldRef Name='Avtalsansvarig' />
</ViewFields>
</View>")
$ListItems = Get-PnPListItem -List "Avtal" -Query $camlQuery
您也可以替換行以使用現成的<Today/>
元素,如下所示:
<Value IncludeTimeValue='TRUE' Type='DateTime'><Today /></Value>
因此,您的完整代碼如下所示:
$camlQuery = $("<View>
<Query>
<Where>
<Eq>
<FieldRef Name='Aviseringsdatum' />
<Value IncludeTimeValue='TRUE' Type='DateTime'><Today /></Value>
</Eq>
</Where>
</Query>
<ViewFields>
<FieldRef Name='Title' />
<FieldRef Name='Aviseringsdatum' />
<FieldRef Name='Avtalsansvarig' />
</ViewFields>
</View>")
$ListItems = Get-PnPListItem -List "Avtal" -Query $camlQuery
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.