使用SharePoint PowerShell导出CSV时角色和用户显示异常求助
问题原因
Get-SPOSiteGroup返回的Roles和Users属性是集合类型(System.Collections.Generic.List),Export-Csv默认只会输出对象的类型名称,不会遍历集合内的元素,因此导出后的CSV里显示的是类型字符串而非实际的角色/用户列表。
解决方案
用PowerShell的计算属性,通过-join把集合元素拼接成逗号分隔的字符串后再导出CSV,修改后的脚本如下:
Get-SPOSiteGroup -site https://uctechgroup.sharepoint.com/ | Select Title, @{Name='Roles'; Expression={$_.Roles -join ', '}}, @{Name='Users'; Expression={$_.Users -join ', '}} | Export-Csv "C:\123.csv" -NoTypeInformation
代码说明
@{Name='Roles'; Expression={$_.Roles -join ', '}}:定义计算属性,将Roles集合里的每个角色用「逗号+空格」拼接成单个字符串@{Name='Users'; Expression={$_.Users -join ', '}}:同理,把Users集合中的用户账号/名称拼接成可直接识别的字符串- 处理后
Export-Csv就能正确导出实际的角色和用户内容,而非集合类型名
内容的提问来源于stack exchange,提问作者Ankur Srivastava
相关产品推荐
相关产品推荐

