0

他の AD グループをメンバーとして持つ AD グループがあります。これらのグループの中には、「サブグループ」を持つものもあります。このグループを再帰的にたどり、そのグループのユーザーに関するいくつかの質問への回答を見つけたいと考えています。例えば:

  • グループ全体で User-X は「有効」になっていますか?
  • User-X のアカウントには、AccountExpirationDate、accountExpires、および Deleted のいずれかのプロパティに値がありますか?

次のプロパティを含む表示結果が欲しい: DisplayName、SamAccountName、AccountExpirationDate、accountExpires、Deleted、および有効 (グループ オブジェクトから)

「Add-Member」を実行して、get-ADgroupMember から「有効な」値を挿入しようとしましたが、次のエラーが発生します。

Add-Member : Cannot add a member with the name "enabled" because a member with that name already exists. If you want to over
write the member anyway, use the Force parameter to overwrite it.

…が、私が知る限りそのような要素はありません。Add-Member のメンバーの名前をいくつかの非常にユニークなものに変更しましたが、それでも同じエラーが発生します。

私の現在の試みは:

Import-Module ActiveDirectory

get-adgroupmember -Identity "My big AD group of groups" -recursive |
    Where-Object -FilterScript {($_.ObjectClass -eq 'user')} |
    ForEach-Object {
        $enabled = $_.enebled
        Get-ADUser `
            -Filter {(name -eq $_.name)} `
            -Properties DisplayName,SamAccountName,AccountExpirationDate,accountExpires,Deleted |
            Add-Member -Name "myITGGroupEnabled" -Value $enabled -MemberType NoteProperty |
            Where-Object `
                -FilterScript {
                    ($_.AccountExpirationDate -lt [datetime]::now) `
                    -OR ($_.accountExpires -eq $true) `
                    -OR ($_.Deleted -eq $true) `
                    -OR ($_.myITGGroupEnabled -eq $false)
                }
            Select-Object DisplayName,SamAccountName,AccountExpirationDate,accountExpires,Deleted,GroupEnabled
        break
    }

迷っています。アイデア?

4

1 に答える 1

0

必要なのは新しい PSObject だけだと思います。このような:

    ...
    Get-AdUser -Filter {name -eq $_.name} -Properties ....  | % { 
     If  ( ($_.AccountExpirationDate -lt [datetime]::now) `
                    -OR ($_.accountExpires -eq $true) `
                    -OR ($_.Deleted -eq $true) `
                    -OR ($_.myITGGroupEnabled -eq $false)) { 

       New-Object PSObject -Property @{MyITGGRoupEnabled=$enabled}
     }           
    }
于 2013-10-03T20:12:35.603 に答える