Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # set variables
- $server = $env:COMPUTERNAME
- $tableOutput = New-Object System.Collections.ArrayList
- # get members
- Function Get-Members($groupName){
- $testgroup = [ADSI]"WinNT://$Server/$tmpGroupName,group"
- $members = New-Object System.Collections.ArrayList
- $testgroup.psbase.Invoke("Members") | ForEach-Object{
- $searchFilter = $_.GetType().InvokeMember("Name", 'GetProperty', $null, $_, $null) -replace "\."," "
- $tmpUser = Get-ADUser -Filter {(Name -like $searchFilter) -or (SamAccountName -like $searchFilter)}# | Select UserPrincipalName
- if($tmpUser){
- #$tmpUser
- [void]$members.Add($tmpUser.UserPrincipalName)
- }
- }
- $members
- }
- Get-WMIObject win32_group -Filter { (LocalAccount='True') } -computername $Server | ForEach-Object{
- if($_.Name -like 'FRAmds-P-MMI-*'){
- $tmpGroup = $_
- # get data
- $members = Get-Members($tmpGroupName)
- $tmpGroupName = $tmpGroup.Name
- $tmpGroupDescription = $tmpGroup.Description
- # save into object
- $groupObject = New-Object -TypeName PSObject
- $groupObject | Add-Member -MemberType NoteProperty -Name GroupName -Value $tmpGroupName
- $groupObject | Add-Member -MemberType NoteProperty -Name GroupDescription -Value $tmpGroupDescription
- $groupObject | Add-Member -MemberType NoteProperty -Name UsersList -Value $members
- [void]$tableOutput.Add($groupObject)
- }
- }
- $tableOutput | Select GroupName, GroupDescription, UsersList
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement