我正在尝试将AD安全组缩小到可管理的大小,但是由于Powershell中的显示限制,这对我来说很难。删除所有禁用的AD帐户后,该组现在减少到47,720。现在,我尝试将其筛选为该特定OU中的已启用用户。以下是我在控制台中成功使用的方法。
Get-ADGroup "very_large_secgroup" -properties Member | Select-Object -expandproperty member | get-aduser -Filter * -SearchBase "OU=PurgeStudents,OU=DisabledAccounts,DC=contoso,DC=com" | Select-Object SamAccountName,DistinguishedName
当我尝试计算或通过Out-File通过管道传输时,我得到:
get-aduser:输入对象不能绑定到该命令的任何参数,因为该命令不接受管道输入,或者该输入及其属性与以下任何参数都不匹配: 接受管道输入。 在线:1字符:92 + ... ty成员| get-aduser -Filter * -SearchBase“ OU = PurgeStudents,OU = Dis ...
任何帮助都将不胜感激,因为我是Powershell魔术的新手。
答案 0 :(得分:0)
您可以过滤所有以前检索到的用户,而不用使用-Filter *
。还有一个cmdlet可以获取组的成员:
Get-ADGroupMember -Identity "very_large_secgroup" -Recursive | Foreach-Object {Get-ADUser -Filter "Name -like $_.Name" -SearchBase "OU=PurgeStudents,OU=DisabledAccounts,DC=contoso,DC=com" | Select-Object -Properties SamAccountName, DistinguishedName}