【问题标题】:update SharePoint online document library column property using pnp PowerShell使用 pnp PowerShell 更新 SharePoint 在线文档库列属性
【发布时间】:2021-05-05 14:26:57
【问题描述】:
我需要使用 pnp PowerShell cmdlet 根据某些条件递归更新 SharePoint 在线文档库中文件夹的属性。我可以看到 cmdlet 来更新列表的列属性,但不能用于文档库。
使用以下命令,我获取了库中的所有文件夹。如何更新一些自定义属性?
$folders = Get-PnPFolderItem -FolderSiteRelativeUrl $ParentFolder -ItemType Folder -Recursive
感谢您的帮助。
【问题讨论】:
标签:
powershell
sharepoint-online
【解决方案1】:
其实我已经找到了答案。 PnPFolderItems 命令无法处理元数据。我可以使用 PnPListItem 命令更改属性值。检查下面的代码。
Connect-PnPOnline -Url $SiteURL -Credentials $Cred
$clientContext = Get-PnPContext
$targetWeb = Get-PnPWeb
$targetList = $targetWeb.Lists.GetByTitle("Documents") # Library Internal Name
$clientContext.Load($targetList)
$clientContext.ExecuteQuery()
$fields = "FileLeafRef","Project" # fields that you need to access and update
$ListItems = Get-PnPListItem -List $targetList -Fields $fields
foreach($ListItem in $ListItems){
if($ListItem.FileSystemObjectType -eq "Folder"){ # filter folders
$ListItem["Project"] = "new value to the custom column"
$ListItem.Update()
}
}
这段代码对我有用。如果有任何更好的代码/cmdlet 可用,请在此处提及。
谢谢