当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何使用 PnP PowerShell 将选择列添加到 SharePoint Online 列表?

作者:精品下载站 日期:2024-12-14 05:20:05 浏览:13 分类:玩电脑

如何使用 PnP PowerShell 将选择列添加到 SharePoint Online 列表?


最近,我的一名团队成员需要向 SharePoint Online 列表添加选择列。我建议使用 PnP PowerShell cmdlet。在本教程中,我将向您展示如何使用 PnP PowerShell 将选择列添加到 SharePoint Online 列表

在这里,我创建了一个具有“标题”列的 SharePoint Online 列表,您可以在下面的屏幕截图中看到该列表:

[玩转系统] 如何使用 PnP PowerShell 将选择列添加到 SharePoint Online 列表?

在这里,我将添加一个选择列作为“部门”,其中包含多个选项。

使用 PnP PowerShell 将选择列添加到 SharePoint Online 列表

我们将“部门”选择列添加到“员工”列表中。选择将是“人力资源”、“财务”、“IT”和“营销”。

以下是完整的 PnP PowerShell 脚本:

# Connect to SharePoint Online
Connect-PnPOnline -Url "https://szg52.sharepoint.com/sites/PowerShellFAQsNew/" -Interactive

# Ensure the Employees list exists
$list = Get-PnPList -Identity "Employees"
if ($null -eq $list) {
    Write-Host "The list 'Employee' does not exist." -ForegroundColor Red
    exit
}

# Define the XML for the choice field
$fieldXml = @"
<Field Type='Choice' DisplayName='Department' Name="Department" Format='Dropdown' FillInChoice='FALSE'>
    <Default>HR</Default>
    <CHOICES>
        <CHOICE>HR</CHOICE>
        <CHOICE>Finance</CHOICE>
        <CHOICE>IT</CHOICE>
        <CHOICE>Marketing</CHOICE>
    </CHOICES>
</Field>
"@

# Add the choice field to the Employee list using XML
try {
    Add-PnPFieldFromXml -List "Employees" -FieldXml $fieldXml
    Write-Host "Choice field 'Department' added successfully." -ForegroundColor Green
} catch {
    Write-Host "Error adding choice field: $_" -ForegroundColor Red
    exit
}

我执行了上面的 PnP PowerShell 脚本,您可以在下面的屏幕截图中看到输出:

[玩转系统] 如何使用 PnP PowerShell 将选择列添加到 SharePoint Online 列表?

Add-PnPFieldFromXml cmdlet 将选择字段添加到“Employee”列表中。 try 块捕获此过程中发生的任何错误并打印错误消息。

设置选择列的默认值

如果要为 SharePoint Online 列表中的选择列设置默认值,可以编写下面的 PnP PowerShell 脚本。

# Set the default value of the Department choice column
try {
    Set-PnPField -List "Employee" -Identity "Department" -Values @{DefaultValue="HR"}
    Write-Host "Default value for 'Department' set to 'HR'." -ForegroundColor Green
} catch {
    Write-Host "Error setting default value: $_" -ForegroundColor Red
}

查看如何使用 PnP PowerShell 检查 SharePoint 站点中是否存在列表?

使用 Add-PnPField 将选择列添加到 SharePoint Online 列表

让我向您展示使用 Add-PnPField 将选择列添加到 SharePoint Online 列表的另一种方法。

以下是从连接到 SharePoint Online 到添加“作业角色”选择列并设置其默认值的完整脚本:

# Connect to SharePoint Online
Connect-PnPOnline -Url "https://szg52.sharepoint.com/sites/PowerShellFAQsNew/" -Interactive

# Add a choice column to the Employees list
Add-PnPField -List "Employees" -DisplayName "Job Role" -InternalName "JobRole" -Type Choice -Group "Custom Columns" -AddToDefaultView `
-Choices "Manager", "Developer", "Analyst", "Support"

# Set the default value for the Job Role choice column
Set-PnPField -List "Employees" -Identity "JobRole" -Values @{DefaultValue="Developer"}

# Verify the column addition
$field = Get-PnPField -List "Employees" | Where-Object {$_.InternalName -eq "JobRole"}
if ($field -ne $null) {
    Write-Host "Choice column 'Job Role' added successfully." -ForegroundColor Green
} else {
    Write-Host "Failed to add choice column 'Job Role'." -ForegroundColor Red
}

解释如下:

  • -List "Employees" 指定要添加列的列表。
  • -DisplayName "Job Role" 设置列的显示名称。
  • -InternalName "JobRole" 设置列的内部名称。
  • -Type Choice 指定列的类型。
  • -Group“自定义列” 将列分组到“自定义列”下。
  • -AddToDefaultView 将该列添加到列表的默认视图中。
  • -选项“经理”、“开发人员”、“分析师”、“支持” 指定该列的选项。

执行脚本后,您可以在下面的屏幕截图中看到输出:

[玩转系统] 如何使用 PnP PowerShell 将选择列添加到 SharePoint Online 列表?

如果打开 SharePoint Online 列表,您可以看到添加的列和选项。请参阅下面的屏幕截图:

[玩转系统] 如何使用 PnP PowerShell 将选择列添加到 SharePoint Online 列表?

我在本教程中解释了如何使用两种方法将选择列添加到 SharePoint Online 列表。希望以上两个例子对您有所帮助!如果您有任何问题,请在下面的评论中告诉我。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯