导出不是某些组成员的组的csv

时间:2019-06-04 13:12:29

标签: powershell active-directory-group

我正在导出“不属于”的某些用户和组。但是我在与群组打交道时遇到麻烦,我对用户做了,但我不知道如何对群组执行同样的操作。

在此示例中,我导出不属于该组成员的用户。

$groups = 'GG_LCS_UsersType4', 'GG_LCS_UsersType3', 'GG_LCS_UsersType2', 'GG_LCS_SpecialUsers'
$whereFilter = $groups | Foreach-Object { 
    $g = (Get-ADGroup -server $domain $_).DistinguishedName
    "{0} '{1}'" -f '$_.memberOf -notcontains',$g 
}
$whereFilter = [scriptblock]::Create($whereFilter -join " -and ")
$users = (Get-ADUser -server $Domain -filter {objectclass -eq "user"} -properties memberof).where($whereFilter)
$users | Select-Object SamAccountName,Enabled |
    Export-Csv "${Domain}_Users_withoutGG.csv" -NoTypeInformation -Encoding UTF8 -Append

所以我也想要这些小组。你能帮我吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

从技术上讲,您应该只需在发布的代码末尾添加一个Get-ADGroup命令,然后导出所需的数据即可。

$FilteredGroups = (Get-ADGroup -Server $Domain -Filter * -Properties MemberOf).where($whereFilter)
$FilteredGroups | Select-Object SamAccountName |
    Export-Csv "groups.csv" -NoTypeInformation -Encoding UTF8 -Append