【发布时间】:2021-09-25 05:46:38
【问题描述】:
我正在尝试将文件上传到 Sharepoint Online (M365) 库,但它一直给我错误。我尝试了很多脚本。这篇文章是关于使用 Microsoft.SharePoint.Client.ClientContext (我已经发布了关于其他脚本的问题,希望有人可以帮助我解决其中任何一个问题)
这是代码:
$WebUrl = "https://myDomain.sharepoint.com/sites/mySite/"
$LibraryName ="myLibrary"
$SourceFile="C:\myFolder\myFile.csv"
$AdminName ="mail@myDomain.com"
$AdminPassword ="myPassword"
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($AdminName,(ConvertTo-SecureString $AdminPassword -AsPlainText -Force))
$Context = New-Object Microsoft.SharePoint.Client.ClientContext($WebUrl)
$Context.Credentials = $Credentials
$Library = $Context.Web.Lists.GetByTitle($LibraryName)
$FileStream = ([System.IO.FileInfo] (Get-Item $SourceFile)).OpenRead()
#Get File Name from source file path
$SourceFileName = Split-path $SourceFile -leaf
$FileCreationInfo = New-Object Microsoft.SharePoint.Client.FileCreationInformation
$FileCreationInfo.Overwrite = $true
$FileCreationInfo.ContentStream = $FileStream
$FileCreationInfo.URL = $SourceFileName
$FileUploaded = $Library.RootFolder.Files.Add($FileCreationInfo)
$Context.Load($FileUploaded)
$Context.ExecuteQuery()
$FileStream.Close()
从一开始,我就有这个错误:
New-Object:找不到类型 [Microsoft.SharePoint.Client.SharePointOnlineCredentials]:确保已加载包含此类型的程序集。
我想我必须加载它们。我看过这段代码:
#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
但是我没有安装这样的库
奇怪的是,如果我之前执行此命令(只需执行,然后取消提示询问 URL):
Connect-PnPOnline
然后,不知何故,引用被加载,因为脚本可以完美地运行。
您能告诉我如何加载这些库吗?
【问题讨论】:
标签: powershell sharepoint