I am searching for a string in multiple files within a folder. If I get that string, then I would like to email all these folders which have this string. I have figured all that out and have adjusted the way I want my format.
The issue is when I send the email, the content shows up all in 1 line. I want this text to be broken word by word. Below is the code:
$find = Get-Childitem –Path C:\inetpub\wwwroot\*\Web.config | Select-String -Pattern "abc..config"
$boards = $find.Path | Out-String
[array]$split = $boards.Split("\")
$count = $split.Count
$out = for ($i=0; $i -le $count; $i++) {
$split[$i+3]
$i = $i + 3
}
$out2 = $out | Out-String
Send-mailmessage -from "" -to "" -subject "Test" -body $out2 -BodyAsHtml -priority High -dno onFailure -smtpServer
The issue is that the body shows up like below: ABC ABC2
But, I want the body to be:
ABC
ABC2
I have also tried getting the output to a text file and using -Raw with gci:
$find = Get-Childitem –Path C:\inetpub\wwwroot\*\Web.config | Select-String -Pattern "abc..config"
$boards = $find.Path | Out-String
[array]$split = $boards.Split("\")
$count = $split.Count
$out = for ($i=0; $i -le $count; $i++) {
$split[$i+3]
$i = $i + 3
}
$out | Out-file -FilePath C:\Test.txt
$body = Get-content C:\Test.txt -Raw
Send-mailmessage -from "" -to "" -subject "Test" -body $body -BodyAsHtml -priority High -dno onFailure -smtpServer
I did use Out-String and -Raw with gci and I am on V4. Not sure what I am missing. When I output the file, it is correct format with line breaks but not when I email. I would prefer not creating a text document and just use the variable in the body.
Thanks