[玩转系统] 如何使用 PnP PowerShell 检查 SharePoint 站点中是否存在列表?
作者:精品下载站 日期:2024-12-14 05:18:30 浏览:16 分类:玩电脑
如何使用 PnP PowerShell 检查 SharePoint 站点中是否存在列表?
最近,我正在开发一个 SharePoint 项目,我们想编写一个脚本来创建 SharePoint 列表。但是,它首先需要检查该列表是否已经存在。在本教程中,我将向您展示如何使用 PnP PowerShell 检查 SharePoint 网站上是否存在列表。
有不同的方法可以做到这一点。我将在此处展示三种不同的方法来使用 PnP PowerShell 检查 SharePoint 中是否存在列表。
我还将向您展示如何使用 PnP PowerShell 检查 SharePoint Online 中是否存在列表项。
使用 PnP PowerShell 检查 SharePoint 站点中是否存在列表
以下是检查 SharePoint Online 网站上是否存在列表的不同方法。
1. 使用 Get-PnPList
检查 SharePoint Online 中是否存在列表的最佳方法是使用 Get-PnPList
cmdlet。此 cmdlet 根据标题、ID 或 URL 检索列表。如果列表存在,则返回列表对象;否则,会抛出错误。
下面是一个脚本,用于通过 SharePoint Online 网站中的标题检查列表是否存在。它将适用于 SharePoint 列表和文档库。
$siteUrl = "https://szg52.sharepoint.com/sites/PowerShellFAQs"
Connect-PnPOnline -Url $siteUrl -Interactive
# Provide your list title
$listTitle = "Employee onboarding"
try {
$list = Get-PnPList -Identity $listTitle
Write-Host "List '$listTitle' exists."
} catch {
Write-Host "List '$listTitle' does not exist."
}
我使用 VS 代码执行了上述 PowerShell 脚本,您可以在列表存在时显示该消息,就像 SharePoint Online 网站中存在该列表一样。您可以看到下面的屏幕截图:
2. 使用 Try-Catch 块
让我向您展示另一种使用 PnP PowerShell 检查 SharePoint Online 列表是否存在的方法。如果列表不存在,您可以使用 Try-Catch
块来处理异常。
以下脚本使用 Try-Catch
块来使用 PnP PowerShell 检查 SharePoint 列表是否存在。
# Replace with your list title
$listTitle = "Documents"
try {
$list = Get-PnPList -Identity $listTitle
if ($list) {
Write-Host "List '$listTitle' exists."
}
} catch {
Write-Host "List '$listTitle' does not exist."
}
我执行了上面的 PowerShell 脚本,您可以在下面的屏幕截图中看到输出:
3. 使用客户端对象模型 (CSOM)
您还可以将 CSOM 与 PnP PowerShell 结合使用来检查 SharePoint Online 中是否存在列表。
这是使用 CSOM 的脚本:
# Replace with your list title
$listTitle = "Documents"
# Load the client context
$context = Get-PnPContext
# Get the list by title
$list = $context.Web.Lists.GetByTitle($listTitle)
$context.Load($list)
try {
$context.ExecuteQuery()
Write-Host "List '$listTitle' exists."
} catch {
Write-Host "List '$listTitle' does not exist."
}
查看使用 PnP PowerShell 获取 SharePoint Online 中的所有列表字段
使用 PnP PowerShell 检查 SharePoint 列表项是否存在
我将向您展示如何使用 PnP PowerShell 检查 SharePoint Online 中是否存在列表项。我们将讨论不同的方法。
在这里,我在 SharePoint Online 网站上创建了一个列表,并向该列表添加了一些项目。该列表只有标题列。总体而言,SharePoint 列表如下所示:
我们将使用此 SharePoint 列表来检查列表中是否存在该项目。
方法 1:使用 Get-PnPListItem
在第一种方法中,我将向您展示如何使用 Get-PnPListItem PnP PowerShell cmdlet 获取 SharePoint 列表项,然后根据条件检查特定项目是否存在。
这是完整的脚本,其中我使用“标题”列来检查 SharePoint 列表项是否存在。
$siteUrl = "https://szg52.sharepoint.com/sites/PowerShellFAQs"
Connect-PnPOnline -Url $siteUrl -Interactive
$listTitle = "Departments"
$itemTitle = "Marketing"
$listItems = Get-PnPListItem -List $listTitle -PageSize 1000
$itemExists = $false
foreach ($item in $listItems) {
if ($item["Title"] -eq $itemTitle) {
$itemExists = $true
break
}
}
if ($itemExists) {
Write-Host "Item exists in the list."
} else {
Write-Host "Item does not exist in the list."
}
由于列表项已经存在,您可以看到它显示“列表中存在项目”。看下面的屏幕截图,我使用 VS code 执行了上面的 PnP PowerShell 脚本。
阅读使用 PnP PowerShell 检查文件是否存在于 SharePoint 文档库中
方法2:使用CAML查询
让我向您展示另一种使用 PnP PowerShell 检查 SharePoint Online 中是否存在列表项的方法。我们还可以使用 CAML。
CAML(协作应用标记语言)查询可用于直接在服务器端过滤项目,这会更加高效。
这是一个示例,我正在检查上述 SharePoint Online 列表中的同一项目。
$siteUrl = "https://szg52.sharepoint.com/sites/PowerShellFAQs"
Connect-PnPOnline -Url $siteUrl -Interactive
$listTitle = "Departments"
$itemTitle = "Marketing"
$camlQuery = "<View><Query><Where><Eq><FieldRef Name='Title'/><Value Type='Text'>$itemTitle</Value></Eq></Where></Query></View>"
$listItems = Get-PnPListItem -List $listTitle -Query $camlQuery
if ($listItems.Count -gt 0) {
Write-Host "Item exists in the list."
} else {
Write-Host "Item does not exist in the list."
}
我使用 VS code 执行了上述 PnP PowerShell 脚本,您可以在下面的屏幕截图中看到输出。
方法 3:使用 Get-PnPListItem 和过滤器
让我向您展示另一种检查 SharePoint 列表项是否存在的有效方法。我们可以将 -Filter
参数与 Get-PnPListItem 结合使用,直接筛选 SharePoint Online 列表中的项目。
这是一个例子。
$siteUrl = "https://szg52.sharepoint.com/sites/PowerShellFAQs"
Connect-PnPOnline -Url $siteUrl -Interactive
$listTitle = "Departments"
$itemTitle = "Marketing"
$listItems = Get-PnPListItem -List $listTitle -Filter "Title eq '$itemTitle'"
if ($listItems.Count -gt 0) {
Write-Host "Item exists in the list."
} else {
Write-Host "Item does not exist in the list."
}
您可以使用这三种方法中的任何一种来使用 PnP PowerShell 检查列表项是否存在于 SharePoint Online 列表中。
结论
在本教程中,我使用不同的方法和示例解释了如何使用 PnP PowerShell 检查 SharePoint 网站中是否存在列表。我建议使用 Get-PnPList cmdlet 通过 PnP PowerShell 检查 SharePoint Online 列表是否存在。
如果您还有任何疑问,请告诉我。
猜你还喜欢
- 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