2015-05-20 148 views
1

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

你試過'出口,CSV'? – vonPryz

+0

好的謝謝。我認爲Export-CSV對我來說是個訣竅。 – sp9

+0

vonPryz說什麼是開始。想知道你的數據輸出你想要它看起來像什麼?在一列中組和所有在另一列中的用戶?用戶如何拆分?用分號? – Matt

回答

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