如何获取所有具有组成员身份的已禁用域用户的列表(每行一个用户),但省略没有成员身份的用户的结果?

如何获取所有具有组成员身份的已禁用域用户的列表(每行一个用户),但省略没有成员身份的用户的结果?

例如,当我们的用户被终止时,我们需要删除所有组。我想检查仍与用户连接的组,但不显示组被删除的用户。

我有以下内容,显示所有已禁用的用户,但不知道如何测试空组。任何帮助都将不胜感激。

Import-Module Activedirectory
Get-ADUser -Filter 'enabled -eq $false' -Properties DisplayName,memberof | % {
New-Object PSObject -Property @{
UserName = $_.DisplayName
Groups = ($_.memberof | Get-ADGroup | Select -ExpandProperty Name) -join 
","}
} | Select UserName,Groups

答案1

在选择之前添加 where 检查:

| Where-Object {$_.Groups -ne $null} 


Import-Module Activedirectory
Get-ADUser -Filter 'enabled -eq $false' -Properties DisplayName,memberof | % {
    New-Object PSObject -Property @{
    UserName = $_.Name
    Groups = ($_.memberof | Get-ADGroup | Select -ExpandProperty Name) -join ","}
} | Where-Object {$_.Groups -ne $null} | Select UserName,Groups 

相关内容