You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell如何将数组转为Add-PnPListItem可用的哈希表

PowerShell文本数组转PnP可用哈希表实现方法

Add-PnPListItem的-Values参数要求传入键为SharePoint列表内部字段名、值为字段内容的哈希表,你当前的$items是存储了多行字段名: 字段值格式文本的数组,按以下逻辑转换即可直接使用。

转换逻辑

  • 先将单条条目的文本按换行符拆分,过滤无效空行
  • 逐行按第一个冒号拆分键和值(避免字段值本身包含冒号时拆分错误)
  • 清理键、值首尾的多余空白字符,存入哈希表
  • 组装完成的哈希表直接传入命令参数即可

完整可运行代码

# 初始化存储单条列表项字段值的哈希表
$listItemValues = @{}

# 遍历每行键值对文本做拆分处理
$items[0] -split "`n" | Where-Object { -not [string]::IsNullOrWhiteSpace($_) } | ForEach-Object {
    # 按冒号拆分,最多拆为2段,自动忽略冒号前后的空白
    $fieldName, $fieldValue = $_ -split '\s*:\s*', 2
    # 去除首尾冗余空白后写入哈希表
    $listItemValues[$fieldName.Trim()] = $fieldValue.Trim()
}

# 直接传入Add-PnPListItem使用,将"你的文档库/列表名"替换为实际名称即可
Add-PnPListItem -List "你的列表名称" -Values $listItemValues

转换结果校验

执行转换后打印$listItemValues,会输出符合要求的标准哈希表结构:

Name                           Value
----                           -----
Title                          123456
field_1                        User One
field_2                        User
field_3                        One
field_4                        26
field_5                        J123456

提示:如果你的$items数组中存储了多条列表项的文本,只需要在外层加一层遍历$items的循环,对每个元素重复上述转换逻辑,即可批量调用Add-PnPListItem创建条目。

内容的提问来源于stack exchange,提问作者bujom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 07:57:07