【问题标题】:SPList returns no result if CAML query is modified or removed如果 CAML 查询被修改或删除,SPList 不返回结果
【发布时间】:2020-03-26 19:30:36
【问题描述】:

我有一个 SharePoint PowerShell 脚本,它可以从列表中获取项目。

我正在更改 CAML 查询以获得不同的输出。

但是,在更改或删除CAML 查询时,list.GetItems() 的方法返回了0 结果,我不知道为什么会这样。

下面是我的代码sn-p:

Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Set config variables
$baseUrl="http://test.com/"
$listName ="Lists/FilePlan"

#Get Web and List Objects
$web = Get-SPWeb $baseUrl
$list = $web.GetList($listName)

#Define the CAML Query
$queryOriginal = New-Object Microsoft.SharePoint.SPQuery
$queryOriginal.Query = "@
<Where>
    <Eq>
        <FieldRef Name='ContentType' />
        <Value Type='Text'>Folder Content Type</Value>
    </Eq>
</Where>"

$queryModified = New-Object Microsoft.SharePoint.SPQuery
$queryModified.Query = "@
<Where>
    <Eq>
        <FieldRef Name='ContentType' />
        <Value Type='Text'>Document Content Type</Value>
    </Eq>
</Where>"

#Get List Items matching the query
$items = $list.GetItems($queryOriginal)  //result
$items2 = $list.GetItems($queryModified) //zero result*****
$items3 = $list.GetItems()               //zero result*****

编辑:

尝试使用&lt;Neq&gt;,但也无济于事。

【问题讨论】:

    标签: list powershell sharepoint caml


    【解决方案1】:

    您可以查看下面的 PowerShell 脚本。

    #Set config variables
    $baseUrl="http://test.com/"
    $listName ="FilePlan"
    
    #Get Web and List Objects
    $web = Get-SPWeb $baseUrl
    $list = $web.Lists[$listName]
    
    $items = $list.Items
    $items.Count
    

    然后您可以检查 ContentType 是否适合此列表。您可以提供有关列表(自定义列表或文档库以及此列表的所有内容类型)的更多信息以供进一步研究。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-31
      • 2019-09-18
      • 2012-05-08
      相关资源
      最近更新 更多