将Get-WMI数据添加到电子邮件正文

时间:2012-10-04 16:05:38

标签: email powershell-v2.0

我找到了这个脚本,我发现只需将脚本在电子邮件中运行的时间发送给收件人。

function send-email
{

$time = get-date 

$EmailFrom = “from”
$EmailTo = “To”
$Subject = “ADX Has Been Deployed”
$Body = “Script has been used on: ” + $time
$SMTPServer = “smtp.gmail.com”
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587)
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential(“e-mail address”, “password”);
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)
}


send-email

这是一种享受,但是当我尝试使用以下代码(主机名,IP地址等)将一些数据添加到电子邮件正文中时,数据将作为完整字符串返回。

$a = @()
$systeminfo = get-wmiobject win32_computersystem | select *
foreach ($item in $systeminfo)
{
$a = $item
}

基本上,我所追求的是一次只能在电子邮件中显示数据。

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:1)

$a = @()
$systeminfo = get-wmiobject win32_computersystem | select *
foreach ($item in $systeminfo)
{
   $a += $item
}
$body = [string]::Join("`n", $a)