troubleshooting Question

Using a text file as the body of an email in Powershell

Avatar of sterlingdev
sterlingdev asked on
Powershell
3 Comments1 Solution484 ViewsLast Modified:
Hi, I have a script currently that produces output to a text file and then the attachment is emailed out. I would like to change the script so that it displays the text of this output in the BODY of the email.

Is this possible? The text file is just a few rows of standard text, eg...

servername               versionnumber         date  

etc.

I don't nessicarily need the text file, it was just a temporary means of producing this email on a tight deadline!

Thanks

if ( (Get-PSSnapin -Name VMware.VimAutomation.Core -ErrorAction SilentlyContinue) -eq $null )
{
    Add-PSsnapin VMware.VimAutomation.Core
}

$server = "Server001"
$SMTPserver = "emailserv.mydomain.co.uk"
$from = "sendermailer@mydomain.co.uk"
$to = "sterlinghd@mydomain.co.uk"
$attachments = "C:\Scripts\Generate-VMToolsVersionReport\VMWareTools_VersionReport.txt"
$subject = "VMWare Tools Report from vc001 server Cluster"
$bodytext = "Attachment contains the current versions of VMWare tools by VM on the vc001 Vcenter cluster"

# Connect to the vCenter server(s) 
$vcserver = connect-VIServer $server -Protocol https -WarningAction SilentlyContinue | Out-Null

# get the vmware tools version for each VM  
get-vm | % { get-view $_.ID } | select Name, @{ Name="ToolsVersion"; Expression={$_.config.tools.toolsVersion}} | Sort-Object toolsversion -Descending | out-file $attachments

# Disconnect from the vCenter server(s) 
Disconnect-VIServer -Server $server -Force:$true -Confirm:$false

$mailer = New-Object Net.Mail.SMTPclient($SMTPserver)
$msg = New-Object Net.Mail.MailMessage($from, $to, $subject, $bodytext)
$Attach = new-object Net.Mail.Attachment($attachments)
$msg.Attachments.Add($attach)
$mailer.send($msg)
ASKER CERTIFIED SOLUTION
slidingfox

Our community of experts have been thoroughly vetted for their expertise and industry experience.

Join our community to see this answer!
Unlock 1 Answer and 3 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 3 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros