Eliminar todas las versiones anteriores en Sharepoint

Eneko Mardones 20 Puntos de reputación
2024-10-16T09:31:36.46+00:00

Buenos días,

¿Alguno sabría decirme si existe la posibilidad de eliminar las versiones anteriores de cada uno de los archivos de un site o por el contrario hay que ir fichero a fichero?

Gracias

Centro de la comunidad | Sitio para el análisis de preguntas y respuestas | Introducción a preguntas y respuestas
0 comentarios No hay comentarios
{count} votos

9 respuestas

Ordenar por: Muy útil
  1. Jonathan Pereira Castillo 17,170 Puntos de reputación Personal externo de Microsoft Moderador
    2024-10-16T15:48:22.0233333+00:00

    ¡Hola Eneko Mardones!

    Bienvenido a Microsoft Q&A.

    Sí, es posible eliminar todas las versiones anteriores de los archivos en un sitio de SharePoint sin tener que hacerlo fichero por fichero. Aquí te dejo los pasos para hacerlo:

    Accede a la Biblioteca de Documentos:

    • Navega a la biblioteca de documentos donde deseas eliminar las versiones anteriores.

    Configura el Historial de Versiones:

    • Haz clic en el ícono de engranaje (Configuración) y selecciona Configuración de la biblioteca.
    • En la sección Configuración de versiones, puedes ajustar las opciones para limitar el número de versiones que se guardan. Esto puede ayudarte a eliminar automáticamente las versiones más antiguas.

    Eliminar Versiones Manualmente:

    • Si prefieres eliminar versiones manualmente, selecciona el documento, haz clic en los tres puntos (...) para abrir el menú y selecciona Historial de versiones.
    • En el historial de versiones, selecciona las versiones que deseas eliminar y haz clic en Eliminar.

    Uso de PowerShell:

    • Para una eliminación masiva, puedes usar un script de PowerShell. Aquí tienes un ejemplo básico:
    # Conectar a SharePoint Online
    Connect-PnPOnline -Url "https://tu-sitio.sharepoint.com" -Credentials (Get-Credential)
    
    # Obtener todos los archivos en la biblioteca
    $files = Get-PnPListItem -List "NombreDeLaBiblioteca"
    
    # Eliminar versiones anteriores de cada archivo
    foreach ($file in $files) {
        $versions = Get-PnPFileVersion -FileUrl $file["FileRef"]
        foreach ($version in $versions) {
            Remove-PnPFileVersion -FileUrl $file["FileRef"] -Identity $version.Id
        }
    }
    

    Para más detalles, puedes consultar la documentación oficial de Microsoft.

    Espero que estos consejos ayuden a resolver el problema. Si necesitas más asistencia, estoy a tu disposición.

    Saludos, Jonathan.

    ----------*

    Tu opinión es muy importante para nosotros! Si esta respuesta resolvió tu consulta, por favor haz clic en ''. Esto nos ayuda a mejorar continuamente la calidad y relevancia de nuestras soluciones.


  2. Jonathan Pereira Castillo 17,170 Puntos de reputación Personal externo de Microsoft Moderador
    2024-10-17T17:24:17.4066667+00:00

    ¡Hola Eneko!

    Gracias por tu pregunta. En la declaración de la variable $files, cuando te refieres al "NombreDeLaBiblioteca", debes indicar el nombre de la biblioteca de documentos específica dentro del sitio de SharePoint, no el nombre del sitio ni de la carpeta.

    Aquí tienes un ejemplo más claro:

    Supongamos que tienes un sitio de SharePoint llamado "MiSitio" y dentro de este sitio, tienes una biblioteca de documentos llamada "DocumentosCompartidos". El comando sería:

    # Conectar a SharePoint Online
    Connect-PnPOnline -Url "https://tu-sitio.sharepoint.com/sites/MiSitio" -Credentials (Get-Credential)
    # Obtener todos los archivos en la biblioteca "DocumentosCompartidos"
    $files = Get-PnPListItem -List "DocumentosCompartidos"
    # Eliminar versiones anteriores de cada archivo
    foreach ($file in $files) {
        $versions = Get-PnPFileVersion -FileUrl $file["FileRef"]
        foreach ($version in $versions) {
            Remove-PnPFileVersion -FileUrl $file["FileRef"] -Identity $version.Id
        }
    }
    

    En este ejemplo, "DocumentosCompartidos" es el nombre de la biblioteca de documentos dentro del sitio "MiSitio". Asegúrate de reemplazar estos nombres con los nombres reales de tu sitio y biblioteca.

    Espero que esto aclare tu duda. Si necesitas más asistencia, no dudes en preguntar.

    Saludos,

    Jonathan.

    ----------*

    Tu opinión es muy importante para nosotros! Si esta respuesta resolvió tu consulta, por favor haz clic en ''. Esto nos ayuda a mejorar continuamente la calidad y relevancia de nuestras soluciones.

    0 comentarios No hay comentarios

  3. Eneko Mardones 20 Puntos de reputación
    2024-10-22T09:21:18.99+00:00

    Muchas gracias Jonathan, y una ultima cuestion, en el caso de ser un unico fichero y no un directorio, se podria realizar cambiando "Documentos compartidos" por el nombre del fichero?

    0 comentarios No hay comentarios

  4. Jonathan Pereira Castillo 17,170 Puntos de reputación Personal externo de Microsoft Moderador
    2024-10-22T23:20:08.11+00:00

    ¡Hola Eneko Mardones!

    En general la respuesta seria si, pero para estar seguros tendriamos que probarlo en tu entorno.

    si al intentar este método no funciona

    Intentemos de esta forma:

    # Conectar a SharePoint Online
    Connect-PnPOnline -Url "https://tu-sitio.sharepoint.com" -Credentials (Get-Credential)
    # Especificar la URL del archivo
    $fileUrl = "/sites/TuSitio/DocumentosCompartidos/TuArchivo.docx"
    # Obtener todas las versiones del archivo
    $versions = Get-PnPFileVersion -FileUrl $fileUrl
    # Eliminar todas las versiones anteriores del archivo
    foreach ($version in $versions) {
        Remove-PnPFileVersion -FileUrl $fileUrl -Identity $version.Id
    }
    

    En este script, reemplaza "https://tu-sitio.sharepoint.com" con la URL de tu sitio de SharePoint y "/sites/TuSitio/DocumentosCompartidos/TuArchivo.docx" con la ruta completa del archivo específico.

    Espero que esto te ayude. Si tienes más preguntas, no dudes en preguntar.

    Saludos, Jonathan

    ----------*

    Tu opinión es muy importante para nosotros! Si esta respuesta resolvió tu consulta, por favor haz clic en ''. Esto nos ayuda a mejorar continuamente la calidad y relevancia de nuestras soluciones.

    0 comentarios No hay comentarios

  5. Eneko Mardones 20 Puntos de reputación
    2024-10-23T08:26:34.18+00:00

    Buenas Jonathan,
    No se si tu me podrás ayudar ya que seguramente este realizando algo mal.
    Siguiendo tus indicaciones, el primer paso ya he conseguido conectarme a nuestro entorno de
    Sharepoint, pero he tenido que modificarlo porque mi cuenta tiene MFA. He usado la siguiente:

    Connect-PnPOnline -Url "https://satlantis.sharepoint.com" -UseWebLogin

    Luego indico el fichero en cuestión con el siguiente comando también sin problema

    $fileUrl = "/sites/ITsite/Documents/AV-Check.xlsx?d=wb05fea02c7f64b42bfc0da917d3360ef&csf=1&web=1&e=1002xF"

    Seguimos indicando la variable $versions. Aqui tambien he realizado una modificacion, ya que la opcion "-FileUrl" no existe y he probado con "-Url" pero me da el siguiente error.imagen

    ¿Sabes porque puede ser?
    Gracias

    0 comentarios No hay comentarios

Su respuesta

Las respuestas se pueden marcar como respuestas aceptadas por el autor de la pregunta, lo que ayuda a los usuarios a conocer la respuesta que resolvió el problema del autor.