[玩转系统] 如何使用 PowerShell 删除内容搜索找到的 OneDrive 文件
作者:精品下载站 日期:2024-12-14 04:02:08 浏览:15 分类:玩电脑
如何使用 PowerShell 删除内容搜索找到的 OneDrive 文件
最近,在进行一些内容搜索时,出现了一个问题,如何对搜索中找到的 OneDrive 文档执行选择性删除。虽然您可以使用内容搜索操作删除电子邮件,但 Office 365 不包含清理内容搜索找到的 OneDrive 文档的方法。
问题是如何删除内容搜索找到的部分但不是全部 OneDrive 文档。 本文演示如何使用 PowerShell 查看文件集,然后选择要删除的文件。
想知道如何使用 PowerShell 来管理条件访问 (CA) 策略? Damian 在本文中回顾了八个 cmdlet。
基础内容搜索
首先,我们需要运行内容搜索。 在 Microsoft 365 合规中心中,转到内容搜索部分并创建新搜索。输入“Exchange”作为搜索关键字,然后选择目标 OneDrive 搜索位置。搜索开始并创建一组预览结果。根据搜索位置的数量,这可能需要一些时间才能完成。
搜索完成后,我们可以检查预览结果。一旦您对搜索找到正确的项目感到满意,请通过选择“导出报告”生成结果报告:
报告导出后,我们可以下载生成的 CSV 文件:
下载报告需要密钥(图 3),可以从搜索详细信息中复制该密钥并将其粘贴到 Microsoft 导出实用程序中:
现在搜索已完成并已下载报告,我们可以利用该 CSV 文件来确定要删除哪些 OneDrive 文件。
查看调查结果并选择性删除 OneDrive
下一个任务是以可用的方式呈现 CSV 文件中的导出数据。 为此,我们使用 PowerShell 按用户 OneDrive 地址对文件进行分组,并允许审阅者选择一个、部分、全部或不删除任何文件。 我们使用 SharePoint Online 和 PNP PowerShell 模块中的 cmdlet 来执行 OneDrive 文件操作,并具有执行这些任务所需的权限。完整的脚本可以从 GitHub 下载。现在,我将强调一些重要的部分。
CSV 文件
我们下载的 CSV 文件格式如下所示:
总体脚本流程
导出文件未排序或采用我们可以使用的格式,因此首先需要处理数据以生成更可用的内容。在下面的代码中,我们询问 CSV 文件名,从输入文件中提取关键元素(用户和文件),并将这些数据存储在名为 $Table 的变量中。最后,按用户对 $Table 变量进行排序,并将结果存储在名为 $SortedResults 的变量中:
$CSVName = Read-Host "Please specify a CSV file to import [i.e. Results.csv]"
$CSV = Import-Csv $CSVName
$Table = Foreach ($Line in $CSV) {
$User = $Line.Location
$FullFilePath = $Line."Original Path"
$Type = $Line.Type
$File = $FullFilePath.Split('/')[-1]
New-Object -TypeName PSCustomObject -Property @{
User = $User
File = $File
}
}
$SortedResults = $Table | Sort-Object User,File
连接到 SharePoint Online
现在我们有了良好的数据,我们可以连接到 SharePoint Online。确保使用正确的租户名称连接到 SharePoint Online 管理端点(括号中 - 第一行代码):
$SharePointURL = 'https://<tenant domain>-admin.sharepoint.com'
$GAUPN = Read-Host "Please enter your Global Admin account UPN"
$Password = Read-Host -assecurestring "Please password for Global Admin account specified above"
$Credentials = New-Object -typeName System.Management.Automation.PSCredential -argumentlist $GAUPN, $Password
Connect-SPOService -Url $SharePointURL -Credential $Credentials
连接后,我们就可以开始处理 CSV 文件。 当我们循环遍历文件中的项目时,我们使用一些规则来处理数据。 首先,该循环是一个 foreach 循环,其中单独读取每一行,并在每个循环内执行操作。 总的来说,我们将操作的脚本中的步骤是:
- Foreach 循环将单个用户的每一行分组到一个变量中。
- 向脚本操作员(网站集管理员)授予脚本执行其任务的权限。
- 授予权限后,就会与用户的 OneDrive 帐户建立连接。
- 连接时,会查询并存储文件的 ID,因为需要识别要删除的文件。
- 当检测到用户更改时,当前文件列表将执行以下步骤。
a。步骤 1 - 使用 Out-GridView 显示文件
b。步骤 2 - 使用 Out-GridView 的输出开始删除文件。
c.步骤 3 - 允许操作员不删除文件(您确定吗?选项) - 处理完用户的文件后,Foreach 循环将移至下一个用户
- 继续执行步骤 1-6,直到检测到最后一个用户(CSV 文件的最后一行)
- 脚本退出。
访问用户的 OneDrive
要从用户的 OneDrive 帐户中删除文件,我们需要直接连接到他们的 OneDrive URL(在 CSV 文件中)。 连接后,我们会授予网站集管理员权限。 这两个任务可以通过以下脚本完成:
Connect-PnPOnline -Url $UserOneDrive -Credentials $Credentials
Set-SPOUser -Site $UserOneDrive -LoginName $GAUPN -IsSiteCollectionAdmin $True
Out-GridView 和 Remove-PnPItemListItem
对于上面列出的整个过程的第 5 步,我们需要向操作员显示文件,存储所选文件,然后允许用户决定文件移动。首先,使用 Out-GridView 显示文件:
$FilesToRemove = $RemovalList | Out-GridView -PassThru
• $FilesToRemove:(例程?)将存储操作员选择的任何文件。
• $RemovalList:CSV 中所有文件的原始列表
• -PassThru:此选项允许返回从 Out-GridView cmdlet 中选择的选项将存储在 $FilesToRemove 变量中。
选择文件后,将列出每个文件,操作员可以选择是否应删除该文件:
Write-Host "Removing $File from $User with ID of $SubID ..." -ForegroundColor Yellow
$ConfirmRemoval = Read-Host " Confirm file removal [y or n] "
If ($ConfirmRemoval -eq 'y') {
Remove-PnPListItem -List Documents -Identity $SubID
} Else {
Write-Host " *** FILE WAS NOT DELETED **" -ForegroundColor Yellow
}
操作员视图
现在我们已经检查了一些重要的代码部分,让我们回顾一下文件删除的整个过程。 下载 CSV 文件并处理其内容后,我们可以将其用作删除文件的基础。 当我们运行脚本时,第一件事是连接到目标租户。 我们还需要提供从搜索中下载的结果 CSV 文件。然后,该脚本使用 Out-GridView cmdlet 显示要查看和/或删除的文件:
选择一些文件后,我们可以决定删除或不删除这些文件,下面是一些示例:
先决条件
在运行脚本之前,您需要同意使用 PnP PowerShell 模块,因为它使用 OAuth 身份验证。如果我们不同意该应用程序,则会显示如下错误:
Connect-PnPOnline : AADSTS65001: The user or administrator has not consented to use the application with ID
'31359c7f-bd7e-475c-86db-fdb8c937548e' named 'PnP Management Shell'. Send an interactive authorization request for this user and resource.
要使用 PnP 模块,我们需要按照以下步骤操作:
$URL = 'https://<tenant>-my.sharepoint.com/personal/user_yourdomain_com'
Connect-PnPOnline -Url $Url -PnPManagementShell
运行这些 cmdlet 将显示用于进入 https://microsoft.com/devicelogin 的一次性密码。然后我们可以输入并选择一个有权授予权限的帐户:
然后,我们需要批准 cmdlet 的同意:
权限列表很大是因为 PNP 模块需要访问租户中的多个工作负载,从 Teams 到 SharePoint,还包括 Planner 和 Flow。 因此,该模块需要广泛的权限才能运行。 请记住,此同意仅允许在租户中使用该模块,并且可以限制其使用。
授予同意后,我们可以使用 PnP 模块连接到 OneDrive 并管理文件。
为什么选择 PNP 管理外壳?
PNP Management Shell 是一组功能强大的 500 多个 PowerShell cmdlet,允许访问 SharePoint Online 对象,包括操作存储在 OneDrive 帐户中的文件的能力。 我们还可以使用 Clear-PnPListItemAsRecord cmdlet 删除记录标签。 此操作是在 SharePoint 库中选择项目并选择 SharePoint Online 中提供的“取消声明记录”选项的 PowerShell 版本。
审计
从整体跟踪角度来看,SharePoint Online 会捕获 Office 365 审核日志中脚本删除的任何文件的详细信息。 搜索“已删除文件”,已删除文件的详细信息将显示在日志中。
结论
此处描述的脚本旨在处理获取报告数据进行内容搜索的繁琐过程,并使用它来驱动文档删除过程。 目前 Microsoft 365 合规中心中没有类似的功能。 要运行该脚本,您需要来自 Exchange Online(连接到合规性终结点)、SharePoint Online 和 PnP 模块的 cmdlet。最后,管理员必须授予在租户中使用 SharePoint PnP 模块 cmdlet 的许可。 在使用此脚本之前必须满足所有这些条件。
示例代码
为了帮助您为此解决方案构建自己的代码,该解决方案的操作示例代码已发布在 GitHub 中。
请谨慎使用此代码,因为它执行的多项任务只能由了解其含义的人员来完成:
- 向您的租户授予对 PNP Management Shell 的访问权限
- 使用Remove-PnPListItem,从用户的OneDrive中删除文件
- 向用户的 OneDrive 授予 SiteCollectionAdmin 权限
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag