有人可以告诉我如何以CSV格式输出数据吗?我想拥有它,以便清楚地显示用户属于哪个组:
$site = Get-SPSite http://www.dev.com
$groups = $site.RootWeb.sitegroups
foreach ($grp in $groups) {
"Group: " + $grp.name
foreach ($user in $grp.users) {
" User: " + $user.name
}
}
$site.Dispose()
答案 0 :(得分:2)
要将数据导出为CSV,请使用Export-Csv
。但请注意,Export-Csv
将对象的属性导出为CSV字段,因此您必须相应地准备数据。
$groups | % {
$grp = $_
$grp.Users | % {
New-Object -Type PSObject -Property @{
'User' = $_.Name
'Group' = $grp.Name
}
}
} | Export-Csv 'C:\path\to\output.csv' -NoType
如果您希望每个组中有一行,并且所有用户都在一个字段中,您可以执行以下操作:
$groups | % {
New-Object -Type PSObject -Property @{
'Group' = $_.Name
'Users' = $_.Users -join '/'
}
} | Export-Csv 'C:\path\to\output.csv' -NoType