Advertisement
blfuentes

Untitled

May 30th, 2018
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. # set variables
  2. $server = $env:COMPUTERNAME
  3.  
  4. $tableOutput = New-Object System.Collections.ArrayList
  5.  
  6. # get members
  7. Function Get-Members($groupName){
  8. $testgroup = [ADSI]"WinNT://$Server/$tmpGroupName,group"
  9. $members = New-Object System.Collections.ArrayList
  10. $testgroup.psbase.Invoke("Members") | ForEach-Object{
  11. $searchFilter = $_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null) -replace "\."," "
  12. $tmpUser = Get-ADUser -Filter {(Name -like $searchFilter) -or (SamAccountName -like $searchFilter)}# | Select UserPrincipalName
  13. if($tmpUser){
  14. #$tmpUser
  15. [void]$members.Add($tmpUser.UserPrincipalName)
  16. }
  17. }
  18. $members
  19. }
  20.  
  21. Get-WMIObject win32_group -Filter { (LocalAccount='True') } -computername $Server | ForEach-Object{
  22. if($_.Name -like 'FRAmds-P-MMI-*'){
  23. $tmpGroup = $_
  24.  
  25. # get data
  26. $members = Get-Members($tmpGroupName)
  27. $tmpGroupName = $tmpGroup.Name
  28. $tmpGroupDescription = $tmpGroup.Description
  29.  
  30. # save into object
  31. $groupObject = New-Object -TypeName PSObject
  32. $groupObject | Add-Member -MemberType NoteProperty -Name GroupName -Value $tmpGroupName
  33. $groupObject | Add-Member -MemberType NoteProperty -Name GroupDescription -Value $tmpGroupDescription
  34. $groupObject | Add-Member -MemberType NoteProperty -Name UsersList -Value $members
  35.  
  36. [void]$tableOutput.Add($groupObject)
  37. }
  38. }
  39.  
  40. $tableOutput | Select GroupName, GroupDescription, UsersList
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement