将数据输出为CSV

时间:2015-05-20 17:32:36

标签: powershell export-to-csv

有人可以告诉我如何以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()

1 个答案:

答案 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