【发布时间】:2016-05-24 09:55:31
【问题描述】:
当我执行变量 $test 时,我看到有 4 列 PSComputername,Name,StartMode,State 的服务,它很好。但是当我想将所有这些列发送到电子邮件时,$sr 变量有问题。我在邮件中的报告看起来像(服务器名称为空):
Serwer name:
Start mode: Auto
State: Stopped
Naame: clr_optimization_v4.0.30319_64
脚本:
$servers = "server1"
$test = (gwmi win32_service -ComputerName $servers |
where {$_.StartMode -eq “Auto” -and $_.State -eq "Stopped"}) |
select PSComputername,Name,StartMode,State
$log = "C:\Users\user\Desktop\lalala.txt"
$filecontent = (Get-Content $log)
$rekord = 1
foreach ($rekord in $test)
{
$sr=$rekord.Serwer
$sm=$rekord.StartMode
$st=$rekord.State
$n=$rekord.Name
$body += "
<table>
<tr>
<td>Nazwa serwera: </td> <td> $sr </td>
</tr>
<tr>
<td>Typ uruchomienia: </td> <td> $sm </td>
<tr/>
<tr>
<td>Stan uslugi: </td> <td> $st </td>
</tr>
<tr>
<td>Nazwa: </td> <td>$n </td>
</tr>
<br />
</table>
"
Add-Content $log "$sr,$st,$sm,$n"
Get-Content $log
}
Send-Mailmessage -smtpServer mail.domain.com -from serwisy@domain.com -to user@domain.com -subject test -body $body -bodyasHTML -priority High
【问题讨论】:
-
修复是 $sr=$rekord.PSComputerName
标签: powershell