如何批量删除OneDrive for Business中的文件历史版本

2024-02-02 08:28

本文主要是介绍如何批量删除OneDrive for Business中的文件历史版本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

OneDrive for Business是微软提供的云存储服务,它允许用户存储、同步和共享文件。为了保护数据不受意外更改的影响,OneDrive提供了版本控制功能,用户可以查看和恢复文件的旧版本。但是,随着文件数量的增加,这些历史版本可能会占用大量宝贵的存储空间。本文将探讨如何有效地批量删除这些历史版本。

使用PowerShell脚本
PowerShell是一个强大的自动化工具,可以帮助您批量管理OneDrive for Business中的文件。使用前,您需要先安装SharePoint Online Management Shell和Microsoft Graph PowerShell SDK。
SharePoint Online Management Shell:
https://www.microsoft.com/en-us/download/details.aspx?id=35588
Microsoft Graph PowerShell SDK:
https://learn.microsoft.com/en-us/powershell/microsoftgraph/installation?view=graph-powershell-1.0
以下是脚本的示例:

# Connect to SharePoint Online
Connect-SPOService -Url https://contoso-admin.sharepoint.com# Connect to Microsoft Graph
Connect-MgGraph -Scopes "User.Read.All", "Files.ReadWrite.All"# Get the current user's OneDrive site URL
$siteUrl = Get-MgUser -UserId me | Select-Object -ExpandProperty MySite# Get all the files in the OneDrive site
$files = Get-PnPListItem -List Documents -PageSize 500 -Connection $siteUrl# Loop through each file
foreach ($file in $files) {# Get the file name and ID$fileName = $file.FieldValues.FileLeafRef$fileId = $file.FieldValues.UniqueId# Get the file versions$versions = Get-PnPProperty -ClientObject $file -Property Versions# Loop through each versionforeach ($version in $versions) {# Get the version label and ID$versionLabel = $version.VersionLabel$versionId = $version.ID# Delete the versionWrite-Host "Deleting version $versionLabel of file $fileName"Remove-PnPFileVersion -List Documents -Identity $fileId -Version $versionId -Force -Connection $siteUrl}
}# Disconnect from SharePoint Online and Microsoft Graph
Disconnect-SPOService
Disconnect-MgGraph

在运行此脚本之前,请确保您已经安装了必要的PowerShell模块,并且已经备份了重要文件。此外,根据您的组织策略,您可能需要管理员权限来执行这些操作。

使用第三方工具
如果您不熟悉PowerShell或者希望有一个更用户友好的界面,可以考虑使用第三方工具。例如,DMS-Shuttle for SharePoint提供了一个名为“批量删除版本历史”的功能,它可以在试用期内免费使用。这个工具允许您在图形界面中选择要删除版本的文件和文件夹,然后执行批量删除操作。

通过使用PowerShell脚本或第三方工具,您可以有效地管理OneDrive for Business中的文件历史版本,释放存储空间并保持文件库的整洁。在执行任何删除操作之前,请确保您已经备份了所有重要数据,并且了解您的组织的数据保留政策。通过定期清理历史版本,您可以确保OneDrive for Business保持高效和响应迅速。
 

这篇关于如何批量删除OneDrive for Business中的文件历史版本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/670087

相关文章

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Redis过期删除机制与内存淘汰策略的解析指南

《Redis过期删除机制与内存淘汰策略的解析指南》在使用Redis构建缓存系统时,很多开发者只设置了EXPIRE但却忽略了背后Redis的过期删除机制与内存淘汰策略,下面小编就来和大家详细介绍一下... 目录1、简述2、Redis http://www.chinasem.cn的过期删除策略(Key Expir

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

conda安装GPU版pytorch默认却是cpu版本

《conda安装GPU版pytorch默认却是cpu版本》本文主要介绍了遇到Conda安装PyTorchGPU版本却默认安装CPU的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、问题描述二、网上解决方案罗列【此节为反面方案罗列!!!】三、发现的根本原因[独家]3.1 p

Redis指南及6.2.x版本安装过程

《Redis指南及6.2.x版本安装过程》Redis是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSIC语言编写、支持网络、... 目录概述Redis特点Redis应用场景缓存缓存分布式会话分布式锁社交网络最新列表Redis各版本介绍旧

IIS 7.0 及更高版本中的 FTP 状态代码

《IIS7.0及更高版本中的FTP状态代码》本文介绍IIS7.0中的FTP状态代码,方便大家在使用iis中发现ftp的问题... 简介尝试使用 FTP 访问运行 Internet Information Services (IIS) 7.0 或更高版本的服务器上的内容时,IIS 将返回指示响应状态的数字代

Java如何从Redis中批量读取数据

《Java如何从Redis中批量读取数据》:本文主要介绍Java如何从Redis中批量读取数据的情况,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一.背景概述二.分析与实现三.发现问题与屡次改进3.1.QPS过高而且波动很大3.2.程序中断,抛异常3.3.内存消

使用C#删除Excel表格中的重复行数据的代码详解

《使用C#删除Excel表格中的重复行数据的代码详解》重复行是指在Excel表格中完全相同的多行数据,删除这些重复行至关重要,因为它们不仅会干扰数据分析,还可能导致错误的决策和结论,所以本文给大家介绍... 目录简介使用工具C# 删除Excel工作表中的重复行语法工作原理实现代码C# 删除指定Excel单元

MySQL数据库实现批量表分区完整示例

《MySQL数据库实现批量表分区完整示例》通俗地讲表分区是将一大表,根据条件分割成若干个小表,:本文主要介绍MySQL数据库实现批量表分区的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录一、表分区条件二、常规表和分区表的区别三、表分区的创建四、将既有表转换分区表脚本五、批量转换表为分区