2012-10-04 7 views
1

이 스크립트는 전자 메일로 수신자에게 스크립트가 실행 된 시간을 보내는 것으로 나타났습니다. 나는 시도하고 아래의 코드를 사용하여 전자 메일 (호스트 이름, IP 주소 등)의 본문에 일부 데이터를 추가 할 때Get-WMI 데이터를 전자 메일 본문에 추가

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 

이 치료를 작동하지만, 데이터는 완전한 문자열로 반환됩니다.

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

기본적으로 데이터는 한 번에 한 줄씩 전자 메일로 표시됩니다.

아이디어가 있으십니까?

감사

답변

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