# split array

**URL:** <https://forums.powershell.org/t/split-array/14542>\
**Category:** PowerShell Help\
**Created:** [June 17, 2020, 1:13am UTC](https://forums.powershell.org/t/split-array/14542 "2020-06-17T01:13:36Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![acer4605](https://avatars.discourse-cdn.com/v4/letter/a/13edae/32.png) [@acer4605](https://forums.powershell.org/u/acer4605)\
**Post date:** [June 17, 2020, 1:13am UTC](https://forums.powershell.org/t/split-array/14542/1 "2020-06-17T01:13:36Z")

</div>

Hi,  
I use this  
[pre]  
$user= “username”  
$groups =Get-ADPrincipalGroupMembership $user  
$group = $groups.name

Send-MailMessage -To “username@mydomain.com” -From “myuser@mydomain.com” -Subject “List of groups $user is member off” -Body “ $group Best regards” -Credential $emailcred -SmtpServer “[outbound.mydomain.com](http://outbound.mydomain.com)” -Port 25

[/pre]  
this will give me the clean name without the “CN=” ect

now I want to send this by mail to a common mailbox but I do get it printed out like groupA groupB groupC

by preference I would like to print this

groupA

groupB

groupC

how do I achieve this?

---

<div class="post-metadata">

**Author:** ![rob-simmers](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.powershell.org/rob-simmers/32/1010_2.png) [@rob-simmers](https://forums.powershell.org/u/rob-simmers)\
**Post date:** [June 17, 2020, 5:13am UTC](https://forums.powershell.org/t/split-array/14542/2 "2020-06-17T05:13:36Z")

</div>

There is an eBook in Free Resources about HTML reporting you should take a look at, but it’s simpler to use HTML for simple formatting in message bodies:

```
$user= “username”
$groups = Get-ADPrincipalGroupMembership $user |
          Select @{Name='Group Memberships';Expression={$_.Name}}

$htmlBody = $groups | 
            ConvertTo-Html -PostContent "<br/Regards<br/><br/>IT Folks" -Property 'Group Memberships'

$params = @{
    To = “username@mydomain.com” 
    From = “myuser@mydomain.com” 
    Subject = “Group Membership(s): $user” 
    Body = $htmlBody
    Credential = $emailcred 
    SmtpServer = “outbound.mydomain.com”
    BodyAsHtml = $true
    Port = 25
}

Send-MailMessage @params
```

---

<div class="post-metadata">

**Author:** ![krzydoug](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.powershell.org/krzydoug/32/1008_2.png) [@krzydoug](https://forums.powershell.org/u/krzydoug)\
**Post date:** [June 17, 2020, 5:30am UTC](https://forums.powershell.org/t/split-array/14542/3 "2020-06-17T05:30:10Z")

</div>

Dang, Rob is fast! Here’s another way you can accomplish your goal. We both cleaned up the code with splatting, it’s highly recommended for many reasons.

```
$user = “username”
$groups = Get-ADPrincipalGroupMembership

$msgparams = @{
    To = “username@mydomain.com”
    From = “myuser@mydomain.com”
    Subject = “List of groups $user is member off”
    Body = $groups + "Best regards” -join "nn" # Forum messing this up, supposed to be the grave accent (shift ~) in front of each n
    Credential = $emailcred
    SmtpServer = “outbound.mydomain.com”
    Port = 25
}

Send-MailMessage @msgparams
```

> **[about Splatting - PowerShell](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_splatting?view=powershell-7)**
>
> Describes how to use splatting to pass parameters to commands in PowerShell.

---

<div class="post-metadata">

**Author:** ![acer4605](https://avatars.discourse-cdn.com/v4/letter/a/13edae/32.png) [@acer4605](https://forums.powershell.org/u/acer4605)\
**Post date:** [June 17, 2020, 6:32am UTC](https://forums.powershell.org/t/split-array/14542/4 "2020-06-17T06:32:44Z")

</div>

thanks for your answers

&nbsp;

Paul

---

<div class="post-metadata">

**Author:** ![dotnVo](https://avatars.discourse-cdn.com/v4/letter/d/4af34b/32.png) [@dotnVo](https://forums.powershell.org/u/dotnVo)\
**Post date:** [May 16, 2024, 8:30pm UTC](https://forums.powershell.org/t/split-array/14542/5 "2024-05-16T20:30:05Z")

</div>


