SharePoint: Como cambiar el tamaño de carga de archivos mediante CSOM con PowerShell!

De nuevo PowerShell al rescate. En este caso, os dejo un pequeño script que permite cambiar el tamaño de carga de archivos haciendo uso del delo de Objetos en Cliente (CSOM). Ojo, este workaround vale para SharePoint (Versiones 2010 y 2013) OnPremise:

   1: If ((Get-PSSnapIn -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue) -eq $null ) 

   2: { Add-PSSnapIn -Name Microsoft.SharePoint.PowerShell }

   3:  

   4: #Hacemos un buen uso de PowerShell par ano penalizar el rendimiento

   5: $host.Runspace.ThreadOptions = "ReuseThread"

   6:  

   7: function ChangeFileSizeCSOM([int]$iFileSize)

   8: {   

   9:     try

  10:     {

  11:         $spWS = [Microsoft.SharePoint.Administration.SPWebService]::ContentService

  12:         Write-Host "Valor por defecto de carga de archivos con CSOM " $spWS.ClientRequestServiceSettings.MaxReceivedMessageSize -ForegroundColor Yellow

  13:         Write-Host "Cambiando el tamaño de carga de archivos con CSOM a $iFileSize" -ForegroundColor Green

  14:     $spWS.ClientRequestServiceSettings.MaxReceivedMessageSize = $iFileSize

  15:         $spWS.ClientRequestServiceSettings.MaxParseMessageSize=$iFileSize

  16:     $spWS.Update()

  17:     }

  18:     catch [System.Exception]

  19:     {

  20:         Write-Host $_.Exception.ToString() -ForegroundColor Red

  21:     }

  22: }

  23:  

  24: Start-SPAssignment -Global

  25: ChangeFileSizeCSOM -iFileSize 5242880

  26: Stop-SPAssignment -Global

  27:  

  28: Remove-PsSnapin Microsoft.SharePoint.PowerShell

De esta forma, cambiaremos el valor por defecto de 2 MB al valor deseado superando de esta forma la limitación que impone el CSOM de que archivos de más de 3 MB en disco no puedan ser cargados haciendo uso de CSOM.