私が変数$ testを実行すると、4列のPSComputername,Name,StartMode,State
とそのサービスが表示されます。しかし、私は電子メールに私はこの列をすべて送信する場合、私は$sr
変数に問題があります。メールでの私のレポートでは、(serwer名が空である)のようになります。サーバ内で停止しているサービスのメール通知
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 [email protected] -to [email protected] -subject test -body $body -bodyasHTML -priority High
修正は$ sr = $ rekord.PSComputerNameです。 – cinq2