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
Post a Comment