[英]Access all the fields in a Lists using powershell,SharePoint and csom
我正在尝试检索列表中的所有项目,并且每个项目在控制台上显示项目标题,ID和已创建的字段。 另外,当我在Items集合上执行get-member
时,我没有看到列表中的所有字段(甚至不是标题字段,只有ID和其他一些我不相信的字段非常像DisplayName
)
我原以为caml
查询只会选择要显示的字段,但我在Caml
查询中指定的项目都没有显示在get-Member
请任何人帮助发现我可能做错了什么
Add-Type –Path "C:\\Program Files\\Common Files\\microsoft shared\\Web Server Extensions\\15\\ISAPI\\Microsoft.SharePoint.Client.dll" Add-Type –Path "C:\\Program Files\\Common Files\\microsoft shared\\Web Server Extensions\\15\\ISAPI\\Microsoft.SharePoint.Client.Runtime.dll" Function Get-SPOContext([string]$Url,[string]$UserName,$Password) { #$SecurePassword = $Password | ConvertTo-SecureString -AsPlainText -Force $context = New-Object Microsoft.SharePoint.Client.ClientContext($Url) $context.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($UserName, $Password) return $context } Function Get-ListItems([Microsoft.SharePoint.Client.ClientContext]$Context, [String]$ListTitle) { $list = $Context.Web.Lists.GetByTitle($listTitle) $qry = [Microsoft.SharePoint.Client.CamlQuery]::CreateAllItemsQuery(13,'ID','Created','Modified','Title') $items = $list.GetItems($qry) $Context.Load($items) $Context.ExecuteQuery() return $items } $UserName = "john.doe@sharepointonline.co.uk" $Password = Read-Host -Prompt "Enter password" -AsSecureString $Url = "https://mycompany.sharepoint.com/sites/COP/SharePoint/john" $context = Get-SPOContext -Url $Url -UserName $UserName -Password $Password $items = Get-ListItems -Context $context -ListTitle "NPT Form" foreach($item in $items) { $item.Id $item | gm }
你没有做错任何事情。 您要查找的属性实际存储在字典FieldValues
。 当您在Items集合上执行get-member
时,将列出这一点。
可以使用以下列表列出礼仪:
$item.FieldValues
并且可以使用以下方法访问标题:
$item["Title"]
$item.FieldsValues.Title
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.