This runs a caml query against a list via powershell
#Definition of the function that allows to do the CAML query
function DoCAMLQuery
{
param ($url,$listName)
try
{
$web = Get-SPWeb $url
$list = $web.Lists.TryGetList($listName)
if ($list)
{
$spqQuery = New-Object Microsoft.SharePoint.SPQuery
#$spqQuery.Query = "<Where><And><And><Eq><FieldRef Name='ApprovedByDepartment'></FieldRef><Value Type='Text'>109</Value></Eq><Eq><FieldRef Name='AwardFY'></FieldRef><Value Type='Text'>19</Value></Eq></And><Neq><FieldRef Name='AwardStatus' /><Value Type='Choice'>Cancelled</Value></Neq></And></Where>"
$spqQuery.Query = "<Where><Eq><FieldRef Name='AwardFY'></FieldRef><Value Type='Number'>19</Value></Eq></Where>"
#$spqQuery.ViewFields = "<FieldRef Name='FileLeafRef' /><FieldRef Name='Title' />"
#$spqQuery.ViewFieldsOnly = $true
$splListItems = $list.GetItems($spqQuery)
$iNumber=1
foreach ($splListItem in $splListItems)
{
write-host "Item # $iNumber - Name: " $splListItem.Name " ," "Title:" $splListItem["Title"] -ForegroundColor Green
$iNumber+=1
}
}
$web.Dispose()
}
catch [System.Exception]
{
write-host -f red $_.Exception.ToString()
}
}
Start-SPAssignment -Global
#Calling the function
$url="https://xxxx/dept/1100/CMDAWARDS/PDQStore"
$listName="Award"
DoCamlQuery -url $url -listName $listName
Stop-SPAssignment -Global