gpt4 book ai didi

powershell - 使用 PowerShell 将包含元数据的文件上传到 SharePoint Online

转载 作者:行者123 更新时间:2023-12-05 01:33:07 27 4
gpt4 key购买 nike

我正在尝试使用 PowerShell 将一批文件上传到 SharePoint Online,并且还包括元数据(列字段)。我知道如何上传文件,这很好用:

$fs = New-Object IO.FileStream($File.FullName,[System.IO.FileMode]::Open)
$fci= New-Object Microsoft.SharePoint.Client.FileCreationInformation
$fci.Overwrite = $true
$fci.ContentStream = $fs
$fci.URL = $file
$upload = $list.RootFolder.Files.Add($fci)
$ctx.Load($upload)
$ctx.ExecuteQuery()

而且我知道如何编辑字段/列,这有效:

...   
$item["project"] = "Test Project"
$item.Update()
...
$list.Update()
$ctx.ExecuteQuery()

但我不知道如何将两者联系在一起。我需要获得对已上传文件的项目引用,以便我可以更新项目/文件的元数据。您可以猜到,PowerShell 和 SharePoint 对我来说都是新的!

最佳答案

以下示例演示了如何在 PowerShell 中使用 SharePoint CSOM API 上传文件和设置文件元数据:

$filePath = "C:\Users\jdoe\Documents\SharePoint User Guide.docx" #source file path
$listTitle = "Documents"
$targetList = $Context.Web.Lists.GetByTitle($listTitle) #target list

#1.Upload a file
$fci= New-Object Microsoft.SharePoint.Client.FileCreationInformation
$fci.Overwrite = $true
$fci.Content = [System.IO.File]::ReadAllBytes($filePath)
$fci.URL = [System.IO.Path]::GetFileName($filePath)
$uploadFile = $targetList.RootFolder.Files.Add($fci)

#2.Set metadata properties
$listItem = $uploadFile.ListItemAllFields
$listItem["LastReviewed"] = [System.DateTime]::Now
$listItem.Update()

$Context.Load($uploadFile)
$Context.ExecuteQuery()

关于powershell - 使用 PowerShell 将包含元数据的文件上传到 SharePoint Online,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34952227/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com