Búsqueda de sitios web

SharePoint Online: ¿Cómo retirar un documento usando PowerShell?


Extraer un documento en SharePoint garantiza que usted sea el único que lo edite. El propósito del proceso de pago es evitar conflictos en un entorno colaborativo donde varias personas pueden intentar editar el mismo documento o enumerar elementos simultáneamente. Por lo tanto, cuando se le asigna un archivo a usted, usted es el único que puede realizar cambios en él y el archivo permanecerá bloqueado hasta que lo libere.

Cuando haya terminado de realizar modificaciones, verifique el documento para que otros usuarios puedan ver los cambios que realizó. La opción "Requerir pago" se puede activar o desactivar desde la configuración de la biblioteca de documentos. Esta publicación de blog analizará cómo puede consultar un documento usando PowerShell en SharePoint Online.

¿Cómo retirar un documento en SharePoint Online?

Para retirar documentos en SharePoint Online, siga estos pasos:

  1. Navegue a la biblioteca de documentos en su sitio de SharePoint o SharePoint Online. Seleccione el documento que desea consultar.
  2. Haga clic derecho en el archivo y seleccione "Pagar" en el menú contextual. (o también puede hacer clic en retirar en la barra de herramientas)
  3. Una vez que el documento esté retirado, aparecerá una pequeña flecha verde que apunta hacia afuera en el ícono del documento.

Script de PowerShell para retirar un documento en SharePoint Online

Utilice este PowerShell para retirar un archivo:


#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 out a file from given URL
Function Checkout-Document($SiteURL, $FileRelativeURL, $Credentials)
{

    #Setup the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
    $Ctx.Credentials = $Credentials

    Try {
        #Try to get the File from URL
        $File = $Ctx.web.GetFileByServerRelativeUrl($FileRelativeURL)
        $Ctx.Load($File)
        $Ctx.ExecuteQuery()
        
        #check if the file is already checked out
        If($File.CheckOutType -ne "None")
        {
            write-host "File is already checked-out!" -f Yellow
            break
        }
        #Checkout the document
        $File.CheckOut()
        $Ctx.ExecuteQuery()

        write-host "Document has been checked-out successfully!" -f Green
    }
    Catch {
        write-host -f Red "Error checking out Document!" + $_.Exception.Message
    }    
}

#Set Variables for Site URL, List Name and Column Name
$SiteURL= "https://crescent.sharepoint.com/sites/sales/"
$FileRelativeURL="/sites/Sales/Shared%20Documents/Legal%20Template.xsn"

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

#Call the function to Checkout file
Checkout-Document -SiteURL $SiteURL -FileRelativeURL $FileRelativeURL -Credentials $Cred 
Descartar el proceso de pago en SharePoint Online mediante PowerShell:
Si desea descartar el pago, utilice: método $File.UndoCheckOut().

SharePoint Online: Pagar documento usando PowerShell CSOM

Alternativamente, es posible que deba realizar el pago desde el ID del artículo en lugar de la URL del documento. Aquí está el script para retirar un documento del ID del artículo:


#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"
  
#Set Variables for Site URL, Library Name and Item ID
$SiteURL= "https://crescent.sharepoint.com/sites/sales/"
$LibraryName="Documents"
$ItemID="4"

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

#Setup the context
$Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
$Ctx.Credentials = $Cred

#Get the web, List, Item adn File
$Web=$Ctx.Web
$List=$web.Lists.GetByTitle($LibraryName)
$Item=$list.GetItemById($ItemID)
$File=$Item.File

#Check out the file
$File.CheckOut()
$Ctx.ExecuteQuery()

Obtener un archivo usando PnP PowerShell

A continuación se explica cómo puede consultar un documento utilizando el cmdlet PnP PowerShell Set-PnPFileCheckedOut en SharePoint Online:


#Config Variables
$SiteURL = "https://Crescent.sharepoint.com"
$FileRelativeURL ="/Team Documents/Project Proposal.docx"

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)

#Checkout the File
Set-PnPFileCheckedOut -Url $FileRelativeURL

Para registrar un archivo usando PowerShell, use: ¿Cómo registrar un documento en SharePoint Online usando PowerShell?

Artículos relacionados