Hermann
Hermann

Reputation: 1

Get-ADGroup/Get-ADGroupMember and then select group

can anyone help me with the correct Powershell Syntax?

Get-ADGroup -filter {name -like *Sales} | Get-ADGroupMember -Recursive | Get-ADUser -Properties * | select company,samaccountname

What i need is expand the select with group.

Example output in list:

company

company1

company2

company3

samaccountname

mmeyer 

hherbert 

khase

group

All-Member-Sales

All-Member2-Sales

All-Member3-Sales

Thanks a lot.

Upvotes: 0

Views: 2452

Answers (2)

Theo
Theo

Reputation: 61068

I think maybe this will help

$sales = Get-ADGroup -Filter "name -like '*Sales'" | ForEach-Object {
    $group = $_.Name
    $users = $_ | Get-ADGroupMember -Recursive | 
                  Where-Object { $_.objectClass -eq 'user' } |    # filter users only
                  Get-ADUser -Properties Company,SamAccountName
    foreach ($user in $users) {
        [PsCustomObject]@{
            'Company'        = $user.Company
            'SamAccountName' = $user.SamAccountName
            'Group'          = $group
        }
    }
} | Sort-Object Company, SamAccountName, Group

# output on screen
$sales | Format-Table -AutoSize

# or write to CSV file
$sales | Export-Csv -Path 'Sales.csv' -NoTypeInformation

Upvotes: 2

Hermann
Hermann

Reputation: 1

i have it:

foreach ($user in $users) {
    [PsCustomObject]@{
        'Company'        = $user.Company
        'SamAccountName' = $user.SamAccountName
        'Group'          = $group
        'permission'     = "GL"

Upvotes: 0

Related Questions