Powershell-获取超出限制的AdGroupMember
我有以下疑问Powershell-获取超出限制的AdGroupMember,powershell,active-directory,Powershell,Active Directory,我有以下疑问 $Groups = (Get-AdGroup -filter * | Where { ($_.name -like "*") } | select ObjectGUID -expandproperty ObjectGUID) $Table = @() $Record = [ordered]@{ "Group _ObjectGUID" = "" "Name" = "" "SamAccountName" = ""
$Groups = (Get-AdGroup -filter * | Where {
($_.name -like "*")
} | select ObjectGUID -expandproperty ObjectGUID)
$Table = @()
$Record = [ordered]@{
"Group _ObjectGUID" = ""
"Name" = ""
"SamAccountName" = ""
"Member_ObjectGUID" = ""
}
Foreach ($Group in $Groups)
{
$Arrayofmembers = Get-ADGroupMember -Recursive -identity $Group | select name,samaccountname,ObjectGUID
foreach ($Member in $Arrayofmembers)
{
$Record."Group _ObjectGUID" = $Group
$Record."Name" = $Member.name
$Record."SamAccountName" = $Member.SamAccountName
$Record."Member_ObjectGUID" = $Member.ObjectGUID
$objRecord = New-Object PSObject -property $Record
$Table += $objrecord
}
}
$Table | export-csv "C:\temp\AD_group_members.txt" -NoTypeInformation
但是,我无法执行查询,因为它超过了5000的最大ad返回值。它具体返回以下错误消息
Get-ADGroupMember:在超过此请求的大小限制
行:22字符:20
+$Arrayofmembers=Get-ADGroupMember-Recursive-identity$Group |选择名称。。。
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+类别信息:未指定:(70206804-1c23-4e47-8e9e-e8fb7c688826:ADGroup)[获取ADGroupMember],
例外
+FullyQualifiedErrorId:已超出此请求的大小限制Microsoft.ActiveDirectory.Management.Commands.GetADGroupMember
我想不出一个方法来减少这个问题,因为改变所有域控制器(300ish)的配置的解决方案不是一个选项
有人有什么建议吗?我今天也遇到了这个问题。您需要做的是获取具有成员属性的组:
$ADInfo = Get-ADGroup -Identity $Group -Properties Members
现在,$ADInfo持有该组及其成员。要获取成员列表,请执行以下操作:
$ADInfo.Members
如果您想要会员广告记录,请执行以下操作:
$ADInfo.Members | Get-ADComputer
或者,您可以将其全部放在一起:
(Get-ADGroup -Identity $Group -Properties Members).Members | Get-ADComputer
我使用的是Get-ADComputer,但Get-ADUser也适用。如果一个组中有子组,Get-adgroupmember会使用-recursive处理该问题,但是Get-adgroup或Get-ADUser和Get-ADComputer会使用-recursive抛出一个错误。思想?