如何从我的get-adgroupmember输出中删除外国安全主体?

时间:2019-07-08 13:41:03

标签: powershell active-directory

我正在尝试收集组成员的一些详细信息,但是该组是本地域的,并且包含许多外部安全主体。请告知如何从我的输出中忽略它们

Get-ADGroup -Filter {GroupScope -eq "DomainLocal"} 
            -SearchBase "CN=Workstation_LOCAL,OU=Security Groups,OU=Normal Users and Groups,DC=conteso,DC=com" | 
    Get-ADGroupMember | Get-ADUser -Properties * | 
    select name, samaccountname, employeenumber, department, emailaddress

2 个答案:

答案 0 :(得分:0)

您可以只使用Where-Object子句来过滤结果。由于要使用Get-ADUser,因此应按用户筛选,而不要针对“非外部安全主体”进行筛选,因为组可以包含任何AD对象(如计算机,联系人或其他组)。

它看起来像这样:

Get-ADGroup -Filter {GroupScope -eq "DomainLocal"} -SearchBase "CN=Workstation_LOCAL,OU=Security Groups,OU=Normal Users and Groups,DC=conteso,DC=com" | 
Get-ADGroupMember | Where objectClass -eq user | Get-ADUser -Properties * | 
Select name, samaccountname, employeenumber, department, emailaddress

答案 1 :(得分:0)

感谢加百列·露西(Gabriel Luci),您的小技巧大有助益。

Get-ADGroup -Filter {GroupScope -eq“ DomainLocal”} -SearchBase“ CN = Workstation_LOCAL,OU =安全组,OU =普通用户和组,DC = conteso,DC = com” | Get-ADGroupMember |其中objectClass -eq用户| Get-ADUser-属性* | 选择名称,samac帐户名称,员工编号,部门,电子邮件地址