Búsqueda de sitios web

SharePoint Online: PowerShell para deshabilitar el control de versiones


Requisito: Deshabilite el control de versiones en SharePoint Online mediante PowerShell.

¿Cómo deshabilitar el control de versiones en SharePoint Online?

La función de control de versiones en SharePoint Online crea una copia de los elementos cuando alguien cambia un documento para que podamos realizar un seguimiento de cada cambio en el documento y volver a la versión anterior si es necesario. Aunque es una característica ingeniosa, es posible que tengas que desactivarla de vez en cuando. Si bien es posible desactivar el control de versiones en las listas de SharePoint Online configurando la opción "¿Crear una versión cada vez que edites un elemento en esta lista?" opción a "No". ¡La opción "Sin control de versiones" se elimina en la configuración de control de versiones de la biblioteca de documentos! De forma predeterminada, el control de versiones está habilitado en las bibliotecas de documentos de SharePoint Online.

No hay forma de desactivar el historial de versiones de una biblioteca de documentos desde la interfaz de usuario web. Entonces, ¡nos quedamos con PowerShell! Veamos cómo desactivar el control de versiones en SharePoint Online.

SharePoint Online: PowerShell para deshabilitar el control de versiones

Deshabilitemos el control de versiones en una biblioteca de documentos de SharePoint Online usando PowerShell.


#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 Disable-SPOVersioning()
{
    param
    (
        [Parameter(Mandatory=$true)] [string] $SiteURL,
        [Parameter(Mandatory=$true)] [string] $ListName
    )
    Try {
        #Get Credentials to connect
        $Cred= Get-Credential
  
        #Setup the context
        $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
        $Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)
          
        #Get the List
        $List = $Ctx.Web.Lists.GetByTitle($ListName)
         
        #sharepoint online powershell disable versioning
        $List.EnableVersioning = $False
        $List.Update()
        $Ctx.ExecuteQuery() 
        Write-host -f Green "Versioning has been turned OFF at $ListName"
    }
    Catch {
        write-host -f Red "Error:" $_.Exception.Message
    }
}
 
#Set Parameters
$SiteURL="https://crescent.sharepoint.com/sites/marketing"
$ListName="Migration Documents"
 
#Call the function 
Disable-SPOVersioning -SiteURL $SiteURL -ListName $ListName

¡Este PowerShell deshabilita el historial de versiones en la biblioteca de documentos dada! ¿Qué tal si deshabilitamos el historial de versiones en todas las bibliotecas de documentos de una colección de sitios de SharePoint Online?

PnP PowerShell para deshabilitar el control de versiones en una lista

¿Qué tal deshabilitar el historial de versiones en una biblioteca de documentos de SharePoint Online usando PnP PowerShell? Para deshabilitar el control de versiones en SharePoint Online usando PnP PowerShell, siga estos pasos:

  1. Conéctese a su sitio de SharePoint Online mediante el cmdlet Connect-PnPOnline.
  2. Supongamos que desea deshabilitar el control de versiones para una lista específica en un sitio. Por lo tanto, deberá pasar la URL del sitio y el nombre de la lista en cuestión.
  3. Establezca la propiedad EnableVersioning en "False" para deshabilitar el control de versiones. Esta propiedad es un valor booleano que indica si se habilitan o no las versiones. En este caso, estableceremos este valor en $false ya que queremos deshabilitar completamente el control de versiones.
  4. ¡Eso es todo al respecto! Después de ejecutar este script de PowerShell, el control de versiones se deshabilitará para la lista especificada en su colección de sitios de SharePoint Online.

#Set Parameter
$SiteURL="https://crescent.sharepoint.com/sites/marketing"
$ListName = "Migration Documents"

#Connect to the site
Connect-PnPOnline $SiteURL -Interactive

#Set versioning settings of the List
Set-PnPList -Identity $ListName -EnableVersioning $False

Deshabilitar el control de versiones en todas las bibliotecas de documentos de un sitio de SharePoint Online

Desactivemos el historial de versiones en la colección de sitios de SharePoint Online:


#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 Disable Versioning on All Document Libraries in a SharePoint Online Site
Function Disable-SPOVersionHistory()
{
    param
    (
        [Parameter(Mandatory=$true)] [string] $SiteURL
    )
    Try {
        Write-host -f Yellow "Processing site:"$SiteURL

        #Setup the context
        $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
        $Ctx.Credentials = $Global:Credentials
  
        #Get the site, subsites and lists from given site
        $Web = $Ctx.web
        $Ctx.Load($Web)
        $Ctx.Load($Web.Lists)
        $Ctx.Load($web.Webs)
        $Ctx.executeQuery()

        #Array to exclude system libraries
        $SystemLibraries = @("Form Templates", "Pages", "Preservation Hold Library","Site Assets", "Site Pages", "Images",
                            "Site Collection Documents", "Site Collection Images","Style Library")
        
        #Get All document libraries
        $DocLibraries = $Web.Lists | Where {$_.BaseType -eq "DocumentLibrary" -and $_.Hidden -eq $False -and $_.Title -notin $SystemLibraries}
        ForEach($Library in $DocLibraries)
        {
            #disable versioning in each document library
            $Library.EnableVersioning = $False
            $Library.Update()
            $Ctx.ExecuteQuery() 
            Write-host -f Green "`tVersioning has been turned OFF at '$($Library.Title)'"
        }
 
        #Iterate through each subsite
        ForEach ($Subweb in $Web.Webs)
        {
            #Call the function recursively
            Disable-SPOVersionHistory($Subweb.url)
        }
    }
    Catch {
        write-host -f Red "Error:" $_.Exception.Message
    }
}

#Set Parameters
$SiteURL="https://crescent.sharepoint.com/sites/marketing"

#Get Credentials to connect
$Cred= Get-Credential
$Global:Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)

#Call the function to disable versions on all document libraries
Disable-SPOVersionHistory -SiteURL $SiteURL

Esto deshabilita el control de versiones en todas las bibliotecas de documentos (excepto las bibliotecas del sistema ocultas y excluidas) de la colección de sitios determinada. Aquí hay otra publicación sobre cómo configurar el historial de versiones de SharePoint Online: SharePoint Online: habilitar el control de versiones mediante PowerShell

Habilite "Sin control de versiones" y elimine el límite mínimo de control de versiones en el nivel de inquilino

Puede habilitar "Sin control de versiones" y deshabilitar el requisito de versión mínima de 100 en el nivel de inquilino utilizando este cmdlet de PowerShell:


Import-Module Microsoft.Online.SharePoint.Powershell -DisableNameChecking

#Parameters
$AdminCenterURL="https://Crescent-admin.sharepoint.com"

#Setup Credentials to connect
Connect-SPOService -Url $AdminCenterURL -Credential (Get-Credential)

Set-SPOTenant -EnableMinimumVersionRequirement $False

Toma un tiempo reflejar este cambio (me tomó 5 minutos), habilita la opción "Sin versiones" en la configuración de versiones y elimina la versión mínima de 100 requisitos (para que no aparezca "Debes ingresar un número entre 100 y 50000”. mensaje de validación!)

Cree una nueva biblioteca de documentos con el historial de versiones desactivado

Aquí hay otro truco para crear una biblioteca de documentos con el control de versiones deshabilitado:

  1. Vaya a: página Contenido del sitio >> Haga clic en “Agregar una aplicación” >> Seleccione “Biblioteca de documentos”.
  2. Haga clic en el enlace "Opciones avanzadas". Ahora tendrá la opción de desactivar el control de versiones en la nueva biblioteca de documentos que va a crear.
  3. Simplemente elija "No" para "Crear una versión cada vez que edite un archivo en esta biblioteca de documentos".

Esto crea una nueva biblioteca de documentos sin la función de control de versiones habilitada.

Conclusión

La función de control de versiones permite guardar y realizar un seguimiento de varias versiones de un documento o archivo a lo largo del tiempo. Sin embargo, puede llegar un momento en que ya no sea necesario o deseado el control de versiones. Hay varias razones por las que uno puede querer deshabilitar el control de versiones en SharePoint, como conservar espacio de almacenamiento y reducir costos. Como se explica en este artículo, deshabilitar el control de versiones en SharePoint Online es un proceso simple que se puede realizar a través de PowerShell.

Preguntas frecuentes:

¿Cómo activar el control de versiones en SharePoint?

Para activar el control de versiones en SharePoint Online, vaya a la biblioteca o lista de documentos donde desea habilitar el control de versiones. Haga clic en el ícono de ajustes y seleccione "Configuración de biblioteca" o "Configuración de lista". En "Configuración general", haga clic en "Configuración de versiones". Desde allí, puede optar por habilitar el control de versiones y establecer la cantidad de versiones que desea conservar. Por cierto, el historial de versiones está habilitado de forma predeterminada en SharePoint Online.
Más información: Habilitar el historial de versiones en SharePoint Online

¿Cómo cargar una nueva versión en SharePoint?

Para cargar una nueva versión en SharePoint, puede abrir el documento que desea actualizar y realizar cambios en él. Luego, guarde el documento y SharePoint creará automáticamente una nueva versión del documento con metadatos como quién lo guardó y cuándo se creó. Alternativamente, si carga un documento con el mismo nombre y en la misma ubicación, se creará una nueva versión.

¿Cómo elimino versiones antiguas de archivos en SharePoint?

Para eliminar versiones antiguas de archivos en SharePoint Online, vaya a la biblioteca de documentos donde se encuentra el archivo, haga clic derecho en el archivo y seleccione "Historial de versiones". Desde allí, puede seleccionar la versión que desea eliminar y hacer clic en "Eliminar". También puede optar por eliminar todas las versiones anteriores del archivo a la vez haciendo clic en "Eliminar todas las versiones" en la página del historial de versiones.
Más información: ¿Cómo eliminar el historial de versiones en SharePoint?

¿Cómo restaurar el historial de versiones en SharePoint?

Para restaurar el historial de versiones en SharePoint, puede ir a la página del historial de versiones del archivo o elemento y seleccionar la versión que desea restaurar. Luego, coloque el cursor junto a la versión y seleccione la flecha hacia abajo para obtener una lista de opciones. Desde allí, seleccione "Restaurar" para restaurar la versión seleccionada. SharePoint mueve las versiones eliminadas a la papelera de reciclaje, donde se pueden restaurar dentro de los 93 días.
Más información: ¿Cómo restaurar el historial de versiones en SharePoint?

Artículos relacionados