Hi Team ,
Unable to upload a folder in share point using power shell .Can some one please help on this .
I tried with UiPath activities but it is not working as excepted .
Regards ,
Suresh .T
Hi Team ,
Unable to upload a folder in share point using power shell .Can some one please help on this .
I tried with UiPath activities but it is not working as excepted .
Regards ,
Suresh .T
Share the script you are trying or share the exception you are getting
Hi,
SharePoint Online: Upload Files to Document Library using PowerShell - SharePoint Diary.
Go through this once
Hi Sarath,
Currently using this script .Getting error has below screen shot .
#param($SiteUrl,$TargetFolderRelativeURL,$SourceFilePath,$Username,$Password,$Overwrite)
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
#Set parameter values
$SiteURL=“Sign in to your account”
$SourceFilePath=“C:\EmailAttachFolder”
$FolderRelativeURL=“/sites/coeamsupport/SAP BPM/BPM IDoc Daily Monitoring_RPA Backup”
$uname = “suresh_thumu@cotyinc.com”
$pwd = ‘**************’
#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”
#Function to Check if Folder Exists. If not, Create the Folder
Function Ensure-SPOFolder()
{
param
(
[Parameter(Mandatory=$true)] [string] $FolderRelativeURL
)
#Check Folder Exists
Try {
$Folder = $Web.GetFolderByServerRelativeUrl($FolderRelativeURL)
$Ctx.Load($Folder)
$Ctx.ExecuteQuery()
#Write-host -f Green "Folder Already Exists!"
}
Catch {
#Create New Sub-Folder
$Folder=$Web.Folders.Add($FolderRelativeURL)
$Ctx.ExecuteQuery()
Write-host -f Green "Created Folder at "$FolderRelativeURL
}
}
#Function to Upload a File to a SharePoint Online
Function Upload-SPOFile()
{
param
(
[Parameter(Mandatory=$true)] [string] $SourceFilePath,
[Parameter(Mandatory=$true)] [string] $TargetFileURL
)
#Get the file from disk
$FileStream = ([System.IO.FileInfo] (Get-Item $SourceFilePath)).OpenRead()
#Get File Name from source file path - Frame FileNames
$SourceFileName = Split-path $SourceFilePath -leaf
#Add File to SharePoint Library
$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
}
#Main Function to upload a Local Folder to SharePoint Online Document Library Folder
Function Upload-SPOFolder()
{
param
(
[Parameter(Mandatory=$true)] [string] $SourceFolderPath,
[Parameter(Mandatory=$true)] [Microsoft.SharePoint.Client.Folder] $TargetFolder
)
#Get All Files and Sub-Folders from Source
Get-ChildItem $SourceFolderPath -Recurse | ForEach-Object {
If ($_.PSIsContainer -eq $True)
{
$FolderRelativeURL = $TargetFolder.ServerRelativeURL+$_.FullName.Replace($SourceFolderPath,[string]::Empty).Replace("\","/")
If($FolderRelativeURL)
{
Write-host -f Yellow "Ensuring Folder '$FolderRelativeURL' Exists..."
Ensure-SPOFolder -FolderRelativeURL $FolderRelativeURL
}
}
Else
{
$FolderRelativeUrl = $TargetFolder.ServerRelativeURL + $_.DirectoryName.Replace($SourceFolderPath,[string]::Empty).Replace("\","/")
$FileRelativeURL = $FolderRelativeUrl+"/"+$_.Name
Write-host -f Yellow "Uploading File '$_' to URL "$FileRelativeURL
Upload-SPOFile -SourceFilePath $_.FullName -TargetFileURL $FileRelativeURL
}
}
}
#Set parameter values
$SiteURL=“Sign in to your account”
#$SiteURL=“Sign in to your account”
$LibraryName=“BPM IDoc Daily Monitoring_RPA Backup” #Document Library Name
$SourceFolderPath=“C:\EmailAttachFolder”
#Setup Credentials to connect
#$Cred= Get-Credential
#$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($uname,(ConvertTo-SecureString $pwd -AsPlainText -Force))
#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl)
$Ctx.Credentials = $Credentials
#Get the Target Folder to Upload
$Web = $Ctx.Web
$Ctx.RequestTimeOut = 5000*10000
$Ctx.Load($Web)
$List = $Web.Lists.GetByTitle($LibraryName)
write-host $List
$Ctx.Load($List)
$Ctx.Load($List.RootFolder)
$Ctx.ExecuteQuery()
#Call the function to Upload All files & folders from local folder to SharePoint Online Doclibrary
Upload-SPOFolder -SourceFolderPath $SourceFolderPath -TargetFolder $List.RootFolder
#Read more: SharePoint Online: Upload a Folder using PowerShell - SharePoint Diary
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.