2016-04-13 44 views
-1

Windows sunucu olay günlüklerini bir metin dosyasına wevtutil komutunu kullanarak almaya/okuyacağım. Ben dosya.txt'ye Günlüklerimde yazmak için aşağıdaki komutu kullanın:,Tek bir satırda bir çıktı yazmak için wevtutil sorgu

$ wevtutil qe Application \rd:true \f:text (uygulama günlükleri okur) ve benim komuta örnek çıktı:

Event[1]: 
    Log Name: Application 
    Source: Microsoft-Windows-Security-SPP 
    Date: 2016-03-29T13:02:27.000 
    Event ID: 8196 
    Task: N/A 
    Level: Information 
    Opcode: N/A 
    Keyword: Classic 
    User: N/A 
    User Name: N/A 
    Computer: WIN-IONOGQTF9O5 
    Description: License Activation Scheduler (sppuinotify.dll) 

Event[2]: 
    Log Name: Application 
    Source: Microsoft-Windows 
    Date: 2016-06-29T13:02:57.000 
    Event ID: 3444 
    Task: N/A 
    Level: Critical 
    Opcode: N/A 
    Keyword: Classic 
    User: N/A 
    User Name: N/A 
    Computer: WIN-IONOGDFFF9O5 
    Description: AIRO.Activation code(sppuinotify.dll) 

(Aslında iki örnek günlüğü). , ancak günlüğümü, tek bir günlük için yukarıdaki çok satırlı çıktı yerine, bir satır .txt dosyasına yazmak istiyorum. Bir wevtutil command faydası aşağıda gibi tek satıra bir günlüğü yazmaya vardır:

Event[1]:Log Name: Application Source: Microsoft-Windows-Security-SPP Date: 2016-03-29T13:02:27.000 Event ID: 8196 Task: N/A Level: Information Opcode: N/A Keyword: Classic User: N/A User Name: N/A Computer: WIN-IONOGQTF9O5 Description: License Activation Scheduler (sppuinotify.dll) 
Event[2]:Log Name: Application Source: Microsoft-Windows Date: 2016-03-29T13:02:27.000 Event ID: 8196 Task: N/A Level: Information Opcode: N/A Keyword: Classic User: N/A User Name: N/A Computer: WIN-IONOGQTF9O5 Description: License Activation Scheduler (sppuinotify.dll) 

teşekkürler! Eğer işlemkodu olması gerekir, bunun yerine yardımcı programın `get-eventlog` gibi yerleşik komutlarını kullanmak durumunda

+0

Get-Eventlog kullanımı – Paul

+0

@Paul: cevabınız için teşekkürler, ama get_eventlog ve wevtutil gelen çıktı tamamen farklı! –

+0

get-eventlog'un ortaya çıkardığı olaylar, wevtutil'den örnek çıktılarınızda yer alan tüm bilgileri içerir ... sadece verileri nasıl istediğinizi bir araya getirmeniz ve bir dosyaya kaydetmeniz yeterlidir – Paul

cevap

0
$logname = "Application"  
$events = Get-EventLog -LogName $logname 

$arr = @() 
$counter = 1 

foreach($event in $events){ 
$arr += "Event[$counter]:Log Name: $logname Source: $($event.Source) Date: $($event.TimeWritten) Event ID: $($event.EventID) Task: $($event.Category) Level: $($event.EntryType) ..." 
$counter++ 
} 

$arr | out-file events.txt 

, Kelime vb sizi çıktı ancak biçimlendirebilirsiniz Get-Winevent yerine