2016-04-01 9 views
0

Olay günlüğü girişlerini html'ye almaya çalışıyorum Diğer cmdlet'lerle bu kadar uzun süredir başarı elde ettim. Ben consoleOutE-postada olay günlüklerinden html'ye veri almayı denedim

istiyorum ama html değişken atamak ve sopa bir kez bu olsun gibi çıktı görünüyor konsolda

Get-EventLog -logName EDEN.AppServer -AFTER $lastCheck.Date | Where-Object {$_.EntryType -eq 'Error'} 

: Burada Ben ne yapıyorum olduğunu.

$html = @" 
<!doctype html> 

<html lang="en"> 
<head> 
</head> 
<body> 
<img src = "cid:logo.jpg"/> 
    <div> 
    <P></P> 
    <h>Eden Application Server Information</h> 
    <p>Computer Name: $($EasHostInfo.Name)</p> 
    <p>EAS Version: $($easVersion.Version) </p> 
    <p>Eden Version: $($EasEdenVersion.LastVersion)</p> 
    <p>EAS Error Log: There was$($EasLog)</p> 
</div> 
</body> 
</html> 
"@ 

In HTML

Herhangi bir yardım çok takdir edilecektir.

+1

Bize html'de nasıl "yapıştırdığınızı" gösterir misiniz? :) –

+0

$ EasLog.Entries, $ easLog.Log.ToString() gibi farklı özellikleri kullanarak birden çok varyasyonu denedim. Yanlış yaptığımdan emin değilim – BFS

+0

Bunu yapmanın bir yolunu buldum: $ EasLog = Get-EventLog -logName EDEN.AppServer -AFTER $ lastCheck.Date | Nesne {$ _. EntryType -eq 'Hata'} | ConvertTo-Html – BFS

cevap

1

Bize, $EasEdenVersion'u nasıl yaptığınıza dair orta adımları göstermiyorsunuz, ancak özellikle bu durumda önemli değil. Karmaşık nesneyi tek bir <p> içine sıkıştırmaya çalışıyorsunuz. Tahmin edersem, geri gönderilen tüm name s kayıtlarını bir paragrafa koyuyorsunuz.

Nesneleriniz var ancak düzgün görüntülenmesini sağlamak için yapılandırılmış html oluşturmalısınız. ConvertTo-HTML bir şekilde burada yardımcı olmalıdır. Tüm dosyaları oluşturabilir ve CSS'yi desteklerken, bir dosyanın başlangıcına zaten sahip olursunuz, bu yüzden onunla çalışabilir miyiz?

$html = @" 
<!doctype html> 

<html lang="en"> 
<head> 
</head> 
<body> 
<img src = "cid:logo.jpg"/> 
    <div> 
    <P></P> 
    <h>Eden Application Server Information</h> 
    {0} 
</div> 
</body> 
</html> 
"@ 

$table = Get-EventLog -logName Application -AFTER (Get-Date).AddDays(-6) | 
    Where-Object {$_.EntryType -eq 'Error'} | 
    ConvertTo-Html -Fragment | Out-String 

$html -f $table 

Çoğunlukla düzenledikten bir kavramı kanıtlamak için senin bir HTML tablosunun için yer tutucu {0} ile $html. Bu tablo, -Fragment kullanarak bir HTML tablosuna dönüştürülen ve bir bütün dizi olarak kaydedilen Get-EventLog çıktısından gelir. Bu dize, biçim operatörünü kullanarak $html'a eklenir.

Sample Output

Benim herhangi bir spesifik özelliklerini seçmediniz olduğunu ve tüm özellikler okunabilir dizeleri olarak kaydedilmiş değil göreceksiniz. name, version ve lastversion gibi özellikleri almak için Select-Object kullanmanız gerekecek.

İlgili konular