2014-06-17 68 views
0

內的活動目錄結構中,有一組組由唯一值從Active Directory組

  • extensionAttribute1
  • extensionAttribute2
  • extensionAttribute3
  • extensionAttribute4
內這些字段中設置的值

有大約300個組有一個或多個這些值集,我是陳綺貞ng,這是一種有效的方法,可以通過散列表中的extensionAttribute2將這些分組。

我希望檢索的格式如下。我把它看作是可讀性更強,但本質上是一個散列表,其中每個唯一值extensionAttribute2被設置爲一個值,該值是在extensionAttribute2中具有該值的組對象的數組。

@{ 
    "001"[email protected](
      Group-Object-1454, 
      Group-Object-221, 
      Group-Object-33, 
      ... 
     ) 
    "002"[email protected](
      Group178, 
      Group2243, 
      Group3774, 
      ... 
     ) 
    ... 
} 

我的嘗試已經結束比鹹味少。我意識到我可以製作一個大型的foreach外觀並構建它,但我希望這可以更有效地完成。

我認爲這會工作,但它無法與Select-Object: null parameter

Get-ADGroup -LdapFilter $Filter -Properties extensionAttribute2 | Select-Object extensionAttribute2, $_ | Group-Object {$_.extensionAttribute2} 

另一個嘗試我做了,這是更加豐碩,但並不完全有剛回到獨特extensionAttribute2值

Get-ADGroup -LdapFilter $Filter -Properties extensionAttribute2 | select-object extensionAttribute2 | Group {$_} 

這在正確的方向返回了一些東西,但我超越了這個。

@{ 
    @{extensionAttribute2="001"}, 
    @{extensionAttribute2="002"}, 
    @{extensionAttribute2="003"}, 
    ... 
} 

任何想法?

回答

1

像這樣的東西?

$ht = @{} 

Get-ADGroup -LdapFilter $Filter -Properties extensionAttribute2 | 
foreach { $ht[$_.extensionattribute2] += @($_.name) } 

$ht 
+0

不錯,工作得很好 – Kirk