2017-09-29 15 views
0

私はグループが少なく、結果を1つのファイルにエクスポートする必要があります。しかし、私は方法を試しましたが、それを動作させることはできません。 $groupを使用した場合、フォーマットは正しくありません。私はまだ名前とカウントなどの選択結果を保持したいと思います。それを動作させるためにどのようなコードを追加すればよいですか?ライト出力形式

$group2 | Get-ADGroupMember -Recursive | 
    Where-Object { $_.objectClass -eq "User" } | 
    Select-Object -Unique | 
    Get-ADUser -Properties canonicalName | 
    Select-Object @{Name='container';Expression={($_.canonicalname -split '/')[2,3]}}, Count | 
    Group-Object container 
    Select Name, Count 

$group3 | Get-ADGroupMember -Recursive | 
    Where-Object { $_.objectClass -eq "User" } | 
    Select-Object -Unique | 
    Get-ADUser -Properties canonicalName | 
    Select-Object @{Name='container';Expression={($_.canonicalname -split '/')[2,3]}}, Count | 
    Group-Object container 
    Select Name, Count 

$group4 | Get-ADGroupMember -Recursive | 
    Where-Object { $_.objectClass -eq "User" } | 
    Select-Object -Unique | 
    Get-ADUser -Properties canonicalName | 
    Select-Object @{Name='container';Expression={($_.canonicalname -split '/')[2,3]}}, Count | 
    Group-Object container 
    Select Name, Count 

Write-Output User, $Group2, $group3, Group4 | 
    Out-File -FilePath C:\Temp\Group_User$timestamp.csv -Append 
+0

何を取得していますか?.....何を取得しますか? – ArcSet

+0

パイプラインの結果をどこにも保存しないでください。 – TessellatingHeckler

+0

どうすればいいですか? – Power988

答えて

0

達成したいことは不明です。あなたは私たちに希望の出力をいくつか与える必要があります。 それであなたは今あなたが望むものがあります。 スクリプタとして、同じコードを何度も繰り返し書くのではなく、あなたのコードを繰り返し処理したいと思っています。 あなたのために、foreachループを調べる必要があります。 このようにして、あなたのコードはあなたのグループと同じくらい多く繰り返されます。

$groups = @("group1","group2") 
$report = @() 
foreach ($group in $groups){ 
$report += $group | Get-ADGroupMember -Recursive | 
     Where-Object { $_.objectClass -eq "User" } | 
     Select-Object -Unique | 
     Get-ADUser -Properties Name,canonicalname | 
     Select Name, canonicalname 
} 

$report