如何取得所有具有群組成員資格的已停用網域使用者的清單(每行一個使用者),但忽略沒有成員資格的使用者的結果?

如何取得所有具有群組成員資格的已停用網域使用者的清單(每行一個使用者),但忽略沒有成員資格的使用者的結果?

例如,當我們的用戶被終止時,我們需要刪除所有群組。我想檢查是否仍連接到使用者的群組,但不向使用者顯示群組已刪除的位置。

我有以下內容,顯示所有已停用的用戶,但無法弄清楚如何測試空組。任何幫助,將不勝感激。

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 

相關內容