2016-05-19 18 views
0

監査人は、特定のグループのすべてのユーザーといくつかのアカウント情報とそれらのグループに含まれるすべてのユーザーのレポートを要求します。 Get-Contentを使用してForEachにパイプしてGet-ADGropuMemberを実行し、すべてのユーザーを検索してGet-ADUserを検索し、要求されたすべてのプロパティを取得します。私が抱えている問題は、これまでに私がパイピングになってしまう頃に、私はもはやユーザアカウントが選択された理由を引き起こしたオリジナルのグループを持っていないということです。基本的に私はこれまでのところが出ているスクリプト:Powershellパイプラインを介した情報の受け渡し

Get-Content '.\Scripts - Input\ADGroupIn.Accounts.txt' | ForEach-Object { Get-ADGroupMember $_ -Recursive -Server Accounts | Get-ADUser -Properties SAMAccountName, Enabled, Name, Description, LastLogonDate, whenCreated | Select-Object SAMAccountName, Enabled, Name, Description, LastLogonDate, whenCreated | sort-object SAMAccountName} | Export-csv ".\Scripts - Output\SelectedGroups_Accounts.csv" -NoTypeInformation

は「ドメイン管理者は、」GET-コンテンツに読み込まれているグループ名です。 Get-ADGroupMemberは、UserA、UserB、およびUserCを取得します。 Get-ADuserは各ユーザーのすべてのプロパティを取得しますが、現時点では、各ユーザーの情報に「Domain Admins」を追加できるようにしたいと考えています。 MemberOfプロパティを使用すると、ユーザーをリストに入れる「Domain Admins」であることを示す必要があるときに、ユーザーがメンバーとなっているすべてのグループを取得します。

私はPowershellを非常に長く使っていませんし、私に与えることのできる助けに感謝します。

答えて

0

は、私はこの問題に対処して見ることができるものから、この

Get-Content '.\Scripts - Input\ADGroupIn.Accounts.txt' | ForEach-Object { 
    $group = $_ 
    Get-ADGroupMember $group -Recursive -Server Accounts | 
    Get-ADUser -Properties SAMAccountName, Enabled, Name, Description, LastLogonDate, whenCreated | 
    Select-Object SAMAccountName, Enabled, Name, Description, LastLogonDate, whenCreated, @{n='Group';e={$group}} | 
    sort-object SAMAccountName 
} | Export-csv ".\Scripts - Output\SelectedGroups_Accounts.csv" -NoTypeInformation 
+0

を試してみてください。ありがとう – dougBelcher

関連する問題