Script Repository

Copy SharePoint folder

February 18, 2021

The script copies a SharePoint folder of a user. To copy SharePoint folders in Adaxes, you can add the script to a business rule, custom command or scheduled task using the Run a program or PowerShell script action.


  • $sharePointServer - Specifies the NetBIOS name of the computer where the SharePoint Sever is homed.
  • $webApplicationURL - Specifies the URL of the SharePoint web application.
  • $sourceFolderPath - Specifies the path to the source folder.
  • $newFolderPath - Specifies the path to the destination folder.
Note: You can use value references (e.g. %username%) to insert properties of the user account in the folder paths. For example, if you specify the following path Shared Documents/Folder A/%username% and execute the script on a user whose username is jdoe, the resulting folder path will be Shared Documents/Folder A/jdoe.
Edit Remove
$sharePointServer = "SharepointServer" # TODO: modify me

$webApplicationURL = "http://$sharePointServer/sites/MySite" # TODO: modify me
$sourceFolderPath = "Shared Documents/Folder A/%username%" # TODO: modify me
$newFolderPath = "Shared Documents/Folder B/%username%" # TODO: modify me

$session = New-PSSession $sharePointServer -Authentication Kerberos
$result = Invoke-Command -Session $session -ArgumentList $webApplicationURL, $sourceFolderPath, $newFolderPath -ScriptBlock {
    param($webApplicationURL, $sourceFolderPath, $newFolderPath)
    [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") | Out-Null
    $site = New-Object Microsoft.SharePoint.SPSite("$webApplicationURL")
    $web = $site.OpenWeb();
    $folder = $web.GetFolder($sourceFolderPath)
    if ($folder.Exists)
        return "Folder copied successfully" # TODO: modify me
        return "The source folder is missing" # TODO: modify me
Remove-PSSession -Session $session

$Context.LogMessage($result, "Information")

Comments ( 0 )
No results found.
Leave a comment