9

PowerShell を使用して、複数のセキュリティ グループのすべてのメンバーを返す必要があります。便利なことに、すべてのグループが同じ文字で始まります。

次のコードを使用して、関連するすべてのセキュリティ グループのリストを返すことができます。

Get-ADGroup -filter 'Name -like"ABC*"' | Select-Object Name

そして、次のコードを使用して、特定のセキュリティ グループのメンバーシップ リストを返すことができることを知っています。

Get-ADGroupMember "Security Group Name" -recursive | Select-Object Name

ただし、私が求めているものは次のようになるはずですが、それらをまとめることができないようです (お気軽に修正してください。それが私がここにいる理由です!):

$Groups = Get-ADGroup -filter 'Name -like"ABC*"' | Select-Object Name
ForEach ($Group in $Groups) {Get-ADGroupMember -$Group -recursive | Select-Object Name

適切に構造化する方法についてのアイデアをいただければ幸いです。

ありがとう、

クリス

4

4 に答える 4

12

これはよりクリーンで、csv に入れられます。

Import-Module ActiveDirectory

$Groups = (Get-AdGroup -filter * | Where {$_.name -like "**"} | select name -expandproperty name)


$Table = @()

$Record = [ordered]@{
"Group Name" = ""
"Name" = ""
"Username" = ""
}



Foreach ($Group in $Groups)
{

$Arrayofmembers = Get-ADGroupMember -identity $Group | select name,samaccountname

foreach ($Member in $Arrayofmembers)
{
$Record."Group Name" = $Group
$Record."Name" = $Member.name
$Record."UserName" = $Member.samaccountname
$objRecord = New-Object PSObject -property $Record
$Table += $objrecord

}

}

$Table | export-csv "C:\temp\SecurityGroups.csv" -NoTypeInformation
于 2015-01-05T23:43:57.313 に答える
4
Get-ADGroupMember "Group1" -recursive | Select-Object Name | Export-Csv c:\path\Groups.csv

私はこれでうまくいきました...「Group1、Group2など」を入れることができると思います。またはワイルドカードを試してください。事前に AD を PowerShell にプリロードしました。

Get-Module -ListAvailable | Import-Module
于 2014-11-24T17:19:49.897 に答える