Hallo zusammen,
ich habe ein merkwürdiges Problem und komm damit nicht weiter, vllt sieht irgendjemand den Fehler. Also das Script soll nichts weiter machen als ein paar vordefinierte Dienste abfragen und eine Email schicken mit denen die gestoppt und gestartet sind.
Im Subject dieser Mail die versendet werden soll, soll der Servername - Dienste - Datum/Uhrzeit stehen. Lasse ich die Variable für den Servernamen raus funktioniert es und mir wird eine Email geschickt aber mit wenn mir der Servername mitgeschickt werden
soll bekomme ich keine Email, selbst wenn ich einfach den Namen (an der stelle $mailmessage.Subject = ) des Servers eintrage wird mir keine Mail geschickt. Ich kann alles mögliche eintragen was dann auch im subject Feld erscheint nur den Servernamen mag er
nicht.
[array] $arBody $arBody = $null # Dienste die abgefragt werden sollen $servicesArray = ('MSSQLSERVER','SQLSERVERAGENT','SQLBrowser', 'ReportServer', 'SQLWriter', 'MCShield', 'IISADMIN' ) foreach ($i in $servicesArray) { $colItems = Get-WmiObject -query "Select * From Win32_Service where name = '$i'" foreach ($objItem in $colItems) { if ($objItem.state -ne "Running") { $arbody = $arBody + "`n<Font color='red'>Der Dienst <b>$i</b> ist nicht gestartet! </font><BR />" + [char]13 + [char]10 } else { $arbody = $arBody + "`nDer Dienst $i ist gestartet. <BR />"+ [char]13 + [char]10 } } } $edate = Get-Date $Server = get-content env:computername function sendmail($body) { $SmtpClient = new-object system.net.mail.smtpClient $MailMessage = New-Object system.net.mail.mailmessage $SmtpClient.Host = "exchangeserver.domain.local" $mailmessage.from = "Admin@domain.local" $mailmessage.To.add("zumir@domain.local") $mailmessage.Subject = "$Server - Dienste - $eDate" $MailMessage.IsBodyHtml = $True $mailmessage.Body = $body $smtpclient.Send($mailmessage) } $body = "$arBody" sendmail $body
Gruß
Markus