たとえば、ユーザーが解雇された場合、すべてのグループを削除する必要があります。ユーザーにまだ接続されているグループをチェックしたいのですが、グループが削除されたユーザーには表示したくないのです。
無効なユーザーをすべて表示する次のコードがありますが、null グループをテストする方法がわかりません。ご協力いただければ幸いです。
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