PowerShell脚本返回多个安全组的成员

问题描述 投票:6回答:4

我需要返回使用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

如何正确的结构,将不胜感激任何想法!

谢谢,

克里斯

powershell active-directory
4个回答
2
投票

如果你不在乎什么组的用户均,只是希望用户的一大醇”名单 - 这样做的工作:

$Groups = Get-ADGroup -Filter {Name -like "AB*"}

$rtn = @(); ForEach ($Group in $Groups) {
    $rtn += (Get-ADGroupMember -Identity "$($Group.Name)" -Recursive)
}

然后结果:

$rtn | ft -autosize

8
投票

这是清洁,将放在一个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

4
投票
Get-ADGroupMember "Group1" -recursive | Select-Object Name | Export-Csv c:\path\Groups.csv

我得到这个工作对我来说...我会认为你可以把“组1,组2,等等。”或者尝试一个通配符。我做了预加载AD到PowerShell的前手:

Get-Module -ListAvailable | Import-Module

3
投票

这会给你一个组的列表,每个组的成员。

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"

如果你想在好记的名称,或其他细节,将它们添加到选择对象查询结束。

© www.soinside.com 2019 - 2024. All rights reserved.