繁体   English   中英

Powershell 将文件上传到 SharePoint:异常调用带有“0”参数的“ExecuteQuery”错误

[英]Powershell uploading files to SharePoint : Exception calling “ExecuteQuery” with “0” argument(s) error

我想将所有.csv 文件从 C:/ 上传到 SharePoint。 该脚本运行到 $Ctx.ExecuteQuery() 并返回此错误。 我能够在站点上运行其他 PowerShell 脚本,并且是站点所有者,我怀疑这不是访问权限。

我从哪里开始寻找?

使用“0”参数调用“ExecuteQuery”的异常:“远程服务器返回错误:(403) Forbidden。” + $Ctx.ExecuteQuery() + ~~~~~~~~~~~~~~~~~~~ + CategoryInfo: NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId: WebException


   Get-ChildItem "c:\users\xxx\downloads" -Filter *.csv | % {

        $eachFile =Get-ChildItem "c:\users\xxxx\downloads\" -Filter *.csv
        $eachFile | ForEach-Object{

       #parameters
            $SiteURL = "https://xxx.sharepoint.com/sites/nrg"
            $LibraryName="Audit History"
            $UserName = "xxxx@x.onmicrosoft.com"
            $Password = "xx"
            $SecurePassword= $Password | ConvertTo-SecureString -AsPlainText -Force

            #Setup the Context
            $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
            $Cred = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($UserName, $SecurePassword)
            $Ctx.Credentials = $Credentials


        #Get the Library
        $Library =  $Ctx.Web.Lists.GetByTitle($LibraryName)

        #Get the file from disk
        $FileStream = ([System.IO.FileInfo] (Get-Item $OutputFile)).OpenRead()

        #Get File Name from source file path
        $SourceFileName = Split-path $eachFile -leaf

         #sharepoint online upload file powershell
        $FileCreationInfo = New-Object Microsoft.SharePoint.Client.FileCreationInformation
        $FileCreationInfo.Overwrite = $true
        $FileCreationInfo.ContentStream = $FileStream
        $FileCreationInfo.URL = $SourceFileName
        $FileUploaded = $Library.RootFolder.Files.Add($FileCreationInfo)

        #powershell upload single file to sharepoint online
        $Ctx.Load($FileUploaded)
        $Ctx.ExecuteQuery()

        #Close file stream
        $FileStream.Close()

        write-host "File has been uploaded!"

        }
        }

解决方案是将凭据删除到 ForEach-Object 之前。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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