Collection x data output format


$mbcombcollection = @()
get-mailbox "some ou" | foreach-object{
    # various mailbox info
$mbcasmbx = get-casmailbox $_.identity
        ## inboxrules on user, if any. set $_.name property more indicative name
$mbinbrule = get-inboxrule -mailbox $_.identity | select @{name="inboxruleyesorno";expression={$_.name}}
$adattrib = get-qaduser $_.samaccountname
$mbstatis = get-mailboxstatistics $_.identity
        ## group x distribution group membership
$usergroupmemberships = get-qaduser $_.samaccountname | get-qadmemberof | select-object @{name="regulargroups";expression={$_.name}},@{name="distributiongroups";expression={$_.grouptype}}
$useranydistgroupsyesorno = $usergroupmemberships | where-object distributiongroups -match distribution

    # work data
$mbcomb = "" | select organizationalunit,displayname,primarysmtpaddress,totalitemsize,prohibitsendquota,lastlogontime,passwordlastset,samaccountname,type,mapienabled,activesyncenabled,owamailboxpolicy,description,forwardingaddress,inboxruleyesorno,regulargroups,distributiongroups

$pequote = "unlimited"
$dbarry = $_.database.tostring().split("\")
$mbcomb.organizationalunit = $_.organizationalunit
$mbcomb.displayname = $_.displayname
$mbcomb.regulargroups = $usergroupmemberships
$mbcomb.distributiongroups = $useranydistgroupsyesorno
$mbcomb.primarysmtpaddress = $_.primarysmtpaddress
$mbcomb.totalitemsize = $mbstatis.totalitemsize.value.tomb()
$mbcomb.prohibitsendquota = $prohibitsendquota
$mbcomb.lastlogontime = $mbstatis.lastlogontime
$mbcomb.passwordlastset = $adattrib.passwordlastset
$mbcomb.samaccountname = $_.samaccountname
$mbcomb.type = $_.recipienttypedetails
$mbcomb.forwardingaddress = $_.forwardingaddress
$mbcomb.mapienabled = $mbcasmbx.mapienabled
$mbcomb.activesyncenabled = $mbcasmbx.activesyncenabled
$mbcomb.owamailboxpolicy = $mbcasmbx.owamailboxpolicy
if($mbinbrule -ne $null) {
    $mbcomb.inboxruleyesorno = "yes"
} else {
        $mbcomb.inboxruleyesorno = "no"
    }
$mbcomb.description = $adattrib.description

$mbcombcollection += $mbcomb
}

---------------------------------------------

the above code works when outputting $mbcombcollection regulargroups , distributiongroups looks this:

"

regulargroups      : {@{regulargroups=group a; distributiongroups=security}, @{regulargroups=group b; distributiongroups=security}, @{regulargroups=group c;
                      distributiongroups=security}, @{regulargroups=group d; distributiongroups=security}...}
distributiongroups : @{regulargroups=group a; distributiongroups=distribution}

"

what regulargroups , distributiongroups include, group a, group b, group c , forth. regulargroups , distributiongroups should not mentioned in array.

how possible, out there can assist me ;-)

any highly appreciated.

thank much.


$usergroupmemberships = get-qaduser $_.samaccountname | get-qadmemberof | group grouptype -asstring -ashashtable  $mbcomb.regulargroups = $usergroupmemberships["security"].name -join "," $mbcomb.distributiongroups = $usergroupmemberships["distribution"].name -join ","



Windows Server  >  Windows PowerShell



Comments

Popular posts from this blog

DCOM received error "2147746132" from...

DFSR RPC replication errors 5014 1726 with large files over VPN

ADFS 3.0 Event ID 4625 | An Error occurred During Logon | Status: 0xC000035B