Powershell 在广告上显示不在组中的所有用户
我正在尝试获取一个不在广告组中的所有用户的列表 组是所有电子邮件用户 我试过这个:Powershell 在广告上显示不在组中的所有用户,powershell,Powershell,我正在尝试获取一个不在广告组中的所有用户的列表 组是所有电子邮件用户 我试过这个: Get-ADUser -Filter * -properties memberof | Where-Object {!($_.memberof -like "*all email*")} | measure 但它不能正确地过滤掉。有什么想法吗?memberof属性可能会返回一个字符串数组,因此您必须遍历所有字符串(不同的组),以确定该组是否不存在于其memberof中。但是,这种方法不能解决属于其他组的组的问题
Get-ADUser -Filter * -properties memberof | Where-Object {!($_.memberof -like "*all email*")} | measure
但它不能正确地过滤掉。有什么想法吗?memberof属性可能会返回一个字符串数组,因此您必须遍历所有字符串(不同的组),以确定该组是否不存在于其memberof中。但是,这种方法不能解决属于其他组的组的问题,等等 我的方法 1) 抓取所有电子邮件用户组的所有成员。对于如何迭代该组的组成员(如果有)以获得真正的成员,网络上有一些解决方案。他们的用户名应存储在字符串[]中。这应该不会太难,但我也不知道你在powershell的工作经验有多丰富 2) 从广告中抓取所有用户。同时将他们的用户名存储在字符串[]中 3) 在两个字符串数组上使用
diff
cmdlet,它将为您提供一个[]中存在但另一个[]中不存在的项(在本例中为用户名)。diff基本上是这样工作的:
diff $arUsers1 $arUsers2
memberof属性可能会返回一个字符串数组,因此您必须遍历所有字符串(不同的组),以确定该组是否不存在于其memberof中。但是,这种方法不能解决属于其他组的组的问题,等等 我的方法 1) 抓取所有电子邮件用户组的所有成员。对于如何迭代该组的组成员(如果有)以获得真正的成员,网络上有一些解决方案。他们的用户名应存储在字符串[]中。这应该不会太难,但我也不知道你在powershell的工作经验有多丰富 2) 从广告中抓取所有用户。同时将他们的用户名存储在字符串[]中 3) 在两个字符串数组上使用
diff
cmdlet,它将为您提供一个[]中存在但另一个[]中不存在的项(在本例中为用户名)。diff基本上是这样工作的:
diff $arUsers1 $arUsers2
如果有嵌套组作为“所有电子邮件”组的成员,我为
get-adGroupMember
添加了-recursive
开关
我的流程是收集组中当前的所有用户,收集组中存在的所有用户,然后使用比较对象
筛选两个组中都未找到的用户(即不是“所有电子邮件”组成员的用户)
$usersInGroup=get-adGroupMember-identity-recursive
$usersAll=获取成人
$usersNotInGroup=Compare Object-referenceObject$usersInGroup-differenceObject$usersAll |
其中对象{$\ sideIndicator-eq“=>”}
由于
$usersNotInGroup
是从比较对象
输出中收集的,因此您将不会拥有与get adUsers
一起收集的丰富AD对象(如果内存可用,您将拥有samAccountName或完整DN)。这应该足以从Active Directory cmdlet中获得结果。如果有嵌套组作为“所有电子邮件”组的成员,我为get-adGroupMember
添加了-recursive
开关
我的流程是收集组中当前的所有用户,收集组中存在的所有用户,然后使用比较对象
筛选两个组中都未找到的用户(即不是“所有电子邮件”组成员的用户)
$usersInGroup=get-adGroupMember-identity-recursive
$usersAll=获取成人
$usersNotInGroup=Compare Object-referenceObject$usersInGroup-differenceObject$usersAll |
其中对象{$\ sideIndicator-eq“=>”}
由于$usersNotInGroup
是从比较对象
输出中收集的,因此您将不会拥有与get adUsers
一起收集的丰富AD对象(如果内存可用,您将拥有samAccountName或完整DN)。这应该足以从Active Directory cmdlet获取结果