2012-05-02 3 views
0

OU内のすべてのユーザーを取得し、ワードマネージャーを持つグループのメンバーであるユーザーの名前のみをリストし、またはそれらが属しているグループ。Powerシェルを使用してADからユーザー名とプルダウングループを選択してください

ですから、例えば

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 
      } 
} 
+0

たソリューション $ユーザーを=には、Get-ADUserは、 "OU =東、DCは= CHM、DC = comのを" -searchbase -Filter * -Properties * foreachの($ユーザーの$ユーザー) { foreachの($ user.MemberOfで$メンバー) { 場合($メンバー様 "*管理*") { 書き込みホスト「$( $ user.SamAccountName) - $($ member.Substri (3、$ member.IndexOf( "、") - 3)) " } } } – Ron

答えて

0

はこのお試しください:anoter BB インポート、モジュールのActiveDirectory上

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 ';' 
     } 
    } 
} 
関連する問題