让AD用户脱离多个组

时间:2018-03-06 15:47:47

标签: powershell scripting active-directory

我需要导出一个列表,显示三个不同组的所有用户成员。

这是我的第一次尝试:

Import-Module ActiveDirectory

$desktop = Get-ADGroupMember -Identity "group1" | Select-Object -ExpandProperty samaccountname
$officetd = Get-ADGroupMember -Identity "group2" | Select-Object -ExpandProperty samaccountname
$officepro = Get-ADGroupMember -Identity "group3" | Select-Object -ExpandProperty samaccountname

我试图通过管道传输第一个变量来过滤掉:

$desktop | Where-Object {$_ -contains $officetd}

但它不起作用。

知道我该怎么做吗?

1 个答案:

答案 0 :(得分:1)

差不多......试试这个:

from itertools import groupby

example = "1,234.45kg (in metric system)"
labels = 'dpdddpddllwpllwllllllwllllllp'

output = [''.join(group)
          for _, group in groupby(example, key=lambda ch: labels[example.index(ch)])]

print(output)
# ['1', ',', '234', '.', '45', 'kg', ' ', '(', 'in', ' ', 'metric', ' ', 'system', ')']

对于此任务,您有一些略有不同的选项。要么检查单个元素是 元素集合,就像上面的代码那样。或者你检查一个元素集合是否包含一个元素,就像下面的代码一样:

$desktop | Where-Object {$_ -in $officetd -and $_ -in $officepro}

因此,选择比较的正确“方向”非常重要。