Guest User

Untitled

a guest
Oct 16th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.18 KB | None | 0 0
  1. let
  2. Source = ActiveDirectory.Domains(),
  3. <domain name> = Source{[Domain="YourDomain"]}[#"Object Categories"],
  4. group = <domain name>{[Category="group"]}[Objects],
  5. FilteredRows = Table.SelectRows(group, each Text.Contains([distinguishedName], "SomeGroupNameFilter")),
  6. #"CN=SomeGroupName,OU=SomeOU,OU=All,DC=SomeDC,DC=net" = FilteredRows{[distinguishedName="CN=SomeGroupName,OU=SomeOU,OU=All,DC=SomeDC,DC=net"]}[group],
  7. member = #"CN=SomeGroupName,OU=SomeOU,OU=All,DC=SomeDC,DC=net"[member],
  8. TableFromList = Table.FromList(member, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
  9. #"Expand Column1" = Table.ExpandRecordColumn(TableFromList, "Column1", {"department", "title", "sAMAccountName"}, {"Column1.department", "Column1.title", "Column1.sAMAccountName"})
  10. in
  11. #"Expand Column1"
  12.  
  13. let
  14.  
  15. Source = ActiveDirectory.Domains("`YourDomainHere`"),
  16.  
  17. MyDomainName = Source{[Domain="`YourDomainHere`]}[#"Object Categories"],
  18.  
  19. group1 = MyDomainName{[Category="group"]}[Objects],
  20.  
  21. #"Expanded securityPrincipal" = Table.ExpandRecordColumn(group1, "securityPrincipal", {"sAMAccountName"}, {"securityPrincipal.sAMAccountName"}),
  22.  
  23. #"Sorted Rows" = Table.Sort(#"Expanded securityPrincipal",{{"securityPrincipal.sAMAccountName", Order.Ascending}}),
  24.  
  25. #"Reordered Columns" = Table.ReorderColumns(#"Sorted Rows",{"securityPrincipal.sAMAccountName", "displayName", "group", "top", "msExchMailStorage", "posixGroup", "msExchIMRecipient", "msExchBaseClass", "msExchCustomAttributes", "mailRecipient", "distinguishedName"}),
  26.  
  27. #"Expanded group" = Table.ExpandRecordColumn(#"Reordered Columns", "group", {"member"}, {"group.member"}),
  28.  
  29. fxGroupMember_Count = Table.AddColumn(#"Expanded group", "GroupMember_Count", each List.Count([group.member] as list) as number),
  30.  
  31. #"fxCount_Replaced Errors" = Table.ReplaceErrorValues(fxGroupMember_Count, {{"GroupMember_Count", 0}})
  32.  
  33. in
  34.  
  35. #"fxCount_Replaced Errors"
  36.  
  37. let
  38.  
  39. Source = ActiveDirectory.Domains("`YourDomainHere`"),
  40.  
  41. MyDomainName = Source{[Domain="`YourDomainHere`"]}[#"Object Categories"],
  42.  
  43. group = MyDomainName{[Category="group"]}[Objects],
  44.  
  45. #"Expanded securityPrincipal" = Table.ExpandRecordColumn(group, "securityPrincipal", {"sAMAccountName"}, {"securityPrincipal.sAMAccountName"}),
  46.  
  47. #"Filtered Rows" = Table.SelectRows(#"Expanded securityPrincipal", each [securityPrincipal.sAMAccountName] = paramADGroupName),
  48.  
  49. #"Filtered Rows_Group" = #"Filtered Rows"{[securityPrincipal.sAMAccountName= paramADGroupName]}[group],
  50.  
  51. MembersList = #"Filtered Rows_Group"[member],
  52.  
  53. TableFromList = Table.FromList(MembersList, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
  54.  
  55. #"Expand Column" = Table.ExpandRecordColumn(TableFromList, "Column1", {paramADGroupName, "displayName", "sAMAccountName", "userPrincipalName", "department"},
  56.  
  57. {"GroupName", "MembersDisplayName", "sAMAccountName", "userPrincipleName", "department"}),
  58.  
  59. #"Replaced Value" = Table.ReplaceValue(#"Expand Column",null,paramADGroupName,Replacer.ReplaceValue,{"GroupName"}),
  60.  
  61. #"Sorted Rows" = Table.Sort(#"Replaced Value",{{"GroupName", Order.Ascending}, {"MembersDisplayName", Order.Ascending}})
  62.  
  63. in
  64.  
  65. #"Sorted Rows"
Add Comment
Please, Sign In to add comment