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

如何修改PowerShell脚本导出指定Planner ID至CSV文件

解决方法

你只需要在脚本中添加结果收集逻辑和CSV导出命令即可实现需求,修改后的完整脚本如下:

#Constants
$fileSystemPath = "C:\Users\xxxxx\xxxxxxxx\xxxx"
$Groups = Import-Csv -Path "$fileSystemPath\xxxx\input.csv"
$AdminUrl = "https://xxxxx-admin.sharepoint.com"
# 初始化空数组用于存储导出数据
$exportResults = @()

# Connect
Import-Module PnP.PowerShell
Connect-PnPOnline -Url $AdminUrl -Interactive

#Connect to Specific Site
foreach ($Group in $Groups) {
    Connect-PnPOnline -Url $Group.siteurl -Interactive

    # Pull Plan ID
    $groupDisplayName = Get-PnPMicrosoft365Group -identity $Group.groupname | Select-Object -ExpandProperty DisplayName
    $plannerId = Get-PnPPlannerPlan -Group $Group.groupname -Identity $Group.planTitle | Select-Object -ExpandProperty Id

    # 创建包含目标字段的自定义对象
    $resultObject = [PSCustomObject]@{
        GroupName = $groupDisplayName
        PlanTitle = $Group.planTitle
        PlannerId = $plannerId
    }

    # 将对象添加到结果数组
    $exportResults += $resultObject
}

# 导出结果到CSV文件,路径可自行修改
$exportResults | Export-Csv -Path "$fileSystemPath\PlannerExportResults.csv" -NoTypeInformation -Encoding UTF8

关键修改说明:

  • 新增$exportResults = @():初始化一个空数组,用于逐个存储每个站点/计划的查询结果
  • 循环内创建[PSCustomObject]:将获取到的组名、计划名、计划ID封装成结构化对象,确保CSV列对应正确
  • 新增Export-Csv命令:循环结束后,将结果数组导出为CSV文件,-NoTypeInformation避免生成多余的类型信息行,-Encoding UTF8保证中文等特殊字符显示正常

注意事项:

  • 如果你的PnP连接会话在循环中可以复用,可以去掉Connect-PnPOnline -Url $Group.siteurl -Interactive这一行,避免重复弹出登录窗口,提升执行效率
  • 确保导出路径有写入权限,避免执行时报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 21:53:24