0

OU 内のすべてのユーザーを取得し、単語 manager が含まれるグループのメンバーであるユーザーの名前のみを一覧表示し、そのグループまたはユーザーが属するグループを一覧表示したいと考えています。

たとえば

TSmith 設備管理者 管理者 夜勤

Bkline 設備管理者 日勤

以下のスクリプトを微調整しようとしています。問題は、ユーザーが名前にマネージャーが含まれるグループのメンバーである場合、そのユーザーに関するすべてがリストされることです。AD 内のすべてのグループの最終ログオン時刻。

助けてくれてありがとう。

  Import-Module ActiveDirectory
  $users = Get-ADUser -searchbase "OU=East,DC=CHM,DC=com" -Filter * -Properties * 
  foreach ( $user in $users ) {
  $user
      $groups = $user | select -ExpandProperty memberof

      if ($groups -match 'manager') {
          $user.samaccountname
          $groups
          }
} 
4

1 に答える 1

0

これを試して:

Get-ADUser -SearchBase "OU=East,DC=CHM,DC=com" -Search -ResultSetSize $null -Filter * -Properties memberOf | Foreach-Object {

    # extract grouop names and check if they contain the word 'manager'
    $manager = ($_.memberof -replace '^CN=([^,]+),.+$','$1') -like "*manager*"

    if($manager)
    {
        New-Object -TypeName PSObject -Property @{
            UserName = $_.SamAccountName
            ManagerGroups = $manager -join ';'
        }   
    }
}
于 2012-05-03T10:14:49.947 に答える