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
正しく構成する方法についてのアイデアはありがたいです!
ありがとう、
クリス
ユーザーがどのグループに属しているかを気にせず、ユーザーの大規模なリストが必要な場合は、次のようにします。
$Groups = Get-ADGroup -Filter {Name -like "AB*"}
$rtn = @(); ForEach ($Group in $Groups) {
$rtn += (Get-ADGroupMember -Identity "$($Group.Name)" -Recursive)
}
次に、結果:
$rtn | ft -autosize
これはよりクリーンで、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
Get-ADGroupMember "Group1" -recursive | Select-Object Name | Export-Csv c:\path\Groups.csv
私はこれを私のために働かせました...私はあなたが「Group1、Group2など」を置くことができると仮定しますまたはワイルドカードを試してください。事前にADをPowerShellにプリロードしました。
Get-Module -ListAvailable | Import-Module
これにより、1つのグループと各グループのメンバーのリストが表示されます。
param
(
[Parameter(Mandatory=$true,position=0)]
[String]$GroupName
)
import-module activedirectory
# optional, add a wild card..
# $groups = $groups + "*"
$Groups = Get-ADGroup -filter {Name -like $GroupName} | Select-Object Name
ForEach ($Group in $Groups)
{write-Host " "
write-Host "$($group.name)"
write-Host "----------------------------"
Get-ADGroupMember -identity $($groupname) -recursive | Select-Object samaccountname
}
write-Host "Export Complete"
フレンドリ名またはその他の詳細が必要な場合は、選択オブジェクトクエリの最後に追加します。