【问题标题】:Output Data to CSV将数据输出到 CSV
【发布时间】:2015-05-20 17:32:35
【问题描述】:

谁能告诉我如何以 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()

【问题讨论】:

  • 你试过Export-CSV吗?
  • 好的,谢谢。我认为 Export-CSV 会为我解决问题。
  • vonPryz 说的是开始。要了解您的数据输出,您希望它是什么样的?在一列中分组,另一列中的所有用户?用户将如何划分?用分号?

标签: powershell export-to-csv


【解决方案1】:

要将数据导出到 CSV,请使用 Export-Csv。但是请注意,Export-Csv 将对象的属性导出为 CSV 字段,因此您必须相应地准备数据。

$groups | ForEach-object {
  $grp = $_
  $grp.Users | ForEach-Object {
    New-Object -Type PSObject -Property @{
      'User'  = $_.Name
      'Group' = $grp.Name
    }
  }
} | Export-Csv 'C:\path\to\output.csv' -NoType

如果您希望每组一行,所有用户都在一个字段中,您可以执行以下操作:

$groups | ForEach-Object {
  New-Object -Type PSObject -Property @{
    'Group' = $_.Name
    'Users' = $_.Users -join '/'
  }
} | Export-Csv 'C:\path\to\output.csv' -NoType

【讨论】:

    猜你喜欢
    • 2017-08-12
    • 1970-01-01
    • 2013-06-21
    • 1970-01-01
    • 1970-01-01
    • 2017-07-22
    • 2013-03-07
    • 2019-01-19
    • 1970-01-01
    相关资源
    最近更新 更多