繁体   English   中英

使用powershell,SharePoint和csom访问列表中的所有字段

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM