PowerShell para administrar archivos que no tienen una versión registrada en SharePoint
Requisito: PowerShell para administrar archivos que no tienen una versión registrada en SharePoint.
¿Cómo administrar archivos que no tienen una versión protegida en SharePoint 2016?
Cuando se carga un archivo a través de la vista del explorador o se cargan varios archivos, sin proporcionar valores de columna obligatorios o cuando la opción "Requerir desprotección" está configurada en "Sí", el archivo se convierte en "Archivo sin versión registrada".
Estos archivos sin versión registrada no aparecen para ningún otro usuario, ni siquiera para los administradores, hasta que el que los cargó los registra. Como administrador, puede tomar control sobre esos archivos con la opción “Administrar archivos que no tener versión registrada” en la configuración de la biblioteca.
¿Cómo tomar control de archivos que no tienen una versión registrada?
La página de administración de archivos retirados le brinda la lista de todos los documentos que se cargan en la biblioteca de documentos pero que nunca se registran. Cualquier usuario con derechos de acceso de control total puede tomar posesión de estos documentos, proporcionar los metadatos si es necesario y registrar los documentos. para ponerlos a disposición de todos los usuarios.
- Vaya a la Configuración de la biblioteca de documentos >> Haga clic en el enlace "Administrar archivos que no tienen una versión registrada" en el grupo Permisos y administración.
- Seleccione los archivos en "Archivos retirados para otros:" marcando la casilla en cada archivo.
- Haga clic en "Tomar posesión de la selección" y confirme el mensaje "¿Está seguro de que desea tomar posesión del nombre del archivo?".
- Esto hace que el archivo esté disponible para usted. Ahora, vaya a la biblioteca de documentos y registre los archivos.
- Es posible que tengas que proporcionar metadatos obligatorios o agregar un comentario marcado. Una vez registrados, serán visibles para todos.
PowerShell para administrar archivos que no tienen una versión registrada en una biblioteca de documentos de SharePoint:
Tomemos posesión de todos los archivos extraídos y registrémoslos usando PowerShell.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Variables
$WebURL="https://intranet.crescent.com"
$ListName="Documents"
#Get Objects
$Web = Get-SPWeb $WebURL
$List = $web.Lists.TryGetList($ListName)
If($List -ne $Null)
{
#Get Checked out files with no checked in versions
$CheckedOutFiles = $List.CheckedOutFiles
Write-host "Total Number of Files with No Checkin version:"$CheckedOutFiles.count
#Loop through each checked out File
ForEach ($File in $CheckedOutFiles)
{
Write-Host -f Yellow "'$($File.LeafName)' at $($File.Url) is Checked out by: $($File.CheckedOutByName)"
#Take ownership
$File.TakeOverCheckOut()
#Check in
$List.GetItemById($File.ListItemId).File.Checkin("Checked in by Administrator")
Write-host -f Green "Took Ownership and Checked in the File!"
}
}
else
{
Write-Host -f Yellow "List '$ListName' Does not Exist!"
}
SharePoint PowerShell para administrar archivos que no tienen una versión registrada
Ampliemos un poco el script para registrar todos los documentos sin versión registrada en el nivel de colección de sitios de SharePoint. Este PowerShell busca archivos sin una versión registrada, toma la propiedad y los registra.
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Site Collection Variable
$SiteURL="https://intranet.crescent.com"
#Get the Site Collection
$Site = Get-SPSite $SiteURL
#Loop through each sub-site of the site collection
ForEach($Web in $Site.AllWebs)
{
Write-host -f Yellow "Searching for Checked out Files in Web:" $Web.Url
#Loop through each list
ForEach($List in $Web.Lists)
{
#Get Checked out files with no checkin versions
$CheckedOutFiles = $List.CheckedOutFiles
#Loop through each checked out File
ForEach ($File in $CheckedOutFiles)
{
Write-Host -f Yellow "`t '$($File.LeafName)' at $($File.Url) is Checked out by: $($File.CheckedOutByName)"
#Take ownership of the file
$File.TakeOverCheckOut()
#Check in the file
$List.GetItemById($File.ListItemId).File.Checkin("Checked in by Administrator")
Write-host -f Green "`t Took Ownership and Checked in the File!"
}
}
}
En resumen, hemos analizado cómo administrar archivos en SharePoint que no tienen una versión protegida. Siguiendo el script proporcionado aquí, puede identificar los archivos que deben protegerse, protegerlos o descartarlos e informar a los usuarios.
