当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] SharePoint Online:使用 PowerShell 将文件上传到子文件夹

作者:精品下载站 日期:2024-12-14 14:50:47 浏览:16 分类:玩电脑

SharePoint Online:使用 PowerShell 将文件上传到子文件夹


要求: SharePoint Online PowerShell 将文件上传到文件夹。

如何将文件上传到 SharePoint Online 中的文件夹?

文件夹仍然是组织文件并将它们全部保存在一个地方的好方法。在这篇博文中,我将向您展示如何使用 PowerShell 将文件上传到 SharePoint Online 网站中的文件夹。如果您需要自动执行将文件上传到 SharePoint 网站的过程,这会很方便。

您可以通过以下方式将文件上传到 SharePoint Online 文档库中的特定文件夹:

  1. 通过网络浏览器导航至该文件夹
  2. 单击任何文档库工具栏中的“上传”按钮,选择“文件”,然后浏览计算机以查找本地存储的文件。
  3. 找到所需的文件,选择它,单击“打开”,然后开始上传。

[玩转系统] SharePoint Online:使用 PowerShell 将文件上传到子文件夹

上传过程完成后,顶部的进度条将达到 100%。

PowerShell 将文件上传到 SharePoint Online 子文件夹

PowerShell 是一种非常强大的语言,可用于自动执行许多 IT 任务。您可能希望使用 PowerShell 自动执行的最常见任务之一是将文件上传到 SharePoint Online 文档库子文件夹。

通常,您可能需要将文件上传到 SharePoint Online,但每次都是相同的过程!那么,让我们使用 PowerShell 来自动化它。以下是将文件上传到 SharePoint Online 文档库子文件夹的 PowerShell:


#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

#Set parameter values
$SiteURL="https://crescent.sharepoint.com/sites/marketing"
$SourceFilePath="C:\Users\salaudeen\Desktop\Project Documents\Discloser Asia.doc"
$TargetFolderRelativeURL ="/sites/Marketing/Shared Documents/2018/Active"

#Setup Credentials to connect
$Cred= Get-Credential
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
 
Try {
    #Setup the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
    $Ctx.Credentials = $Credentials
      
    #Get the Target Folder to upload
    $Web = $Ctx.Web
    $Ctx.Load($Web)
    $TargetFolder = $Web.GetFolderByServerRelativeUrl($TargetFolderRelativeURL)
    $Ctx.Load($TargetFolder)
    $Ctx.ExecuteQuery() 

    #Get the source file from disk
    $FileStream = ([System.IO.FileInfo] (Get-Item $SourceFilePath)).OpenRead()
    #Get File Name from source file path
    $SourceFileName = Split-path $SourceFilePath -leaf   
    $TargetFileURL = $TargetFolderRelativeURL+"/"+$SourceFileName

    #Upload the File to SharePoint Library Folder
    $FileCreationInfo = New-Object Microsoft.SharePoint.Client.FileCreationInformation
    $FileCreationInfo.Overwrite = $true
    $FileCreationInfo.ContentStream = $FileStream
    $FileCreationInfo.URL = $TargetFileURL
    $FileUploaded = $TargetFolder.Files.Add($FileCreationInfo)  
    $Ctx.ExecuteQuery()  

    #Close file stream
    $FileStream.Close()
    Write-host "File '$TargetFileURL' Uploaded Successfully!" -ForegroundColor Green
}
catch {
    write-host "Error Uploading File to Folder: $($_.Exception.Message)" -foregroundcolor Red
}

此 PowerShell 将文件上传到 SharePoint Online 文档库子文件夹。

使用 PnP PowerShell 将文件上传到 SharePoint Online 文件夹

要使用 PnP PowerShell 将文件上传到 SharePoint Online 文档库中的文件夹,请使用:


#Config Variables
$SiteURL = "https://Crescent.sharepoint.com/sites/retail"
$SourceFilePath ="C:\Documents\SRS.Docx"
$DestinationFolderPath = "/sites/retail/Shared Documents/2018" #Server Relative URL

Try {
    #Connect to PnP Online
    Connect-PnPOnline -Url $SiteURL -Interactive
    
    #Upload File to Folder
    Add-PnPFile -Path $SourceFilePath -Folder $DestinationFolderPath -ErrorAction Stop
}
catch {
    write-host "Error: $($_.Exception.Message)" -foregroundcolor Red
}

Add-PnPFile cmdlet 还支持以下参数:NewFileName、Checkout、Approve、Publish、ContentType 和 Values。如果需要使用 PowerShell 将所有文件和文件夹从本地驱动器上传到 SharePoint Online,请使用:SharePoint Online:使用 PowerShell 上传所有文件和子文件夹

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯