2014-02-27 130 views
0

這聽起來很混亂。例如。我有一個組Research。我希望列出研究組的所有成員,然後列出每個用戶所在的每個組。有沒有辦法做到這一點?Powershell:獲取作爲特定組成員的所有成員和他們的組

另外,有沒有一種方法來獲得列出的組是否是安全組或分發列表作爲輸出中的另一列?

例如,這裏是我一直在使用的代碼,我希望它能像上面描述的那樣工作。

Add-PSSnapin Quest.ActiveRoles.ADManagement 

$myCol = @() 
    ForEach ($Group in (Get-QADGroup "CN=RES,OU=Security,OU=Groups,DC=fff,DC=com" -GroupType Security)) 
    { 
    ForEach ($Member in (Get-QADGroupMember $Group -SizeLimit 0)) 
     { 
     $myObj = "" | Select Group, Member, Email 
     $myObj.Group = $Group.Name 
     $myObj.Member = $Member.Name 
     $myObj.Email = $Member.Email 
     $myCol += $myObj 
     } 
    } 
    $myCol | Export-Csv -Path "C:\Users\sdevito\Desktop\1a.csv" -NoTypeInformation 
+0

這將有助於給你想要的格式輸出的例子。團隊成員(memberof)是一個多值屬性,並不總是適合.csv。您需要決定是否每個用戶需要一行,成員列表是一個字段中的分隔字符串,還是每個組成員資格需要一行,多行具有相同的用戶。 – mjolinor

+0

具有相同用戶的多行將是最好的,因爲我需要每個成員所屬的每個組的信息 – user3360709

回答

0

我不知道你在尋找什麼,但聽起來像你正在尋找找出組父組中的用戶是你的一部分能夠與像這樣做:

if($Member.Type -eq "User"){Get-QADUser $Member.Name | Select MemberOf} 

如果你想更好地甲酸鹽它你可以這樣做:

Get-QADUser $object.Name | Select MemberOf | FL 

如果你想知道,如果一組是一個安全組或通訊組看sAMAccountType屬性:

Get-QADGroup $groupName -properties sAMAccountType 

sAMAccountType將是一堆數字,它取決於組類型。安全性和Dstirubtion這裏列出: 安全組:268435456 通訊組:268435457

,如果你想看到更多的看到這一點:Link

希望這有助於!