Benutzer mit den meisten Antworten
get-eventlog Ausgabe in ein Logfile

Frage
-
Hallo, hier mal eine hoffentlicht leichte Frage.
ich möchte die letzten 10 Events abfragen und in eine Datei schreiben. Das funktioniert auch prima, nur gibt es eine kleine Einschränkung. Ich bekomme "Message" extreme gekürzt angezeigt. Wie erreiche ich es, dass der ganze Text der unter "Message" steht auch angezeigt wird bzw. ins Logfile geschrieben wird.
get-eventlog -computerName $computername -logname system -newest 10 | out-file $ReportFile_sys get-eventlog -computerName $computername -logname application -newest 10 | out-file $ReportFile_app
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
15513 Nov 29 11:00 Information MsiInstaller 1042 Windows...
15512 Nov 29 11:00 Information MsiInstaller 1033 Das Pro...
IT Berater
- Bearbeitet NBC2009 Freitag, 29. November 2013 10:07
- Typ geändert Denniver ReiningMVP, Moderator Samstag, 30. November 2013 13:26 ....
Antworten
-
-Width 4096 beschreibt die Anzahl der Zeichen einer Zeile, weil du scheinbar Eintraege mit sehre grossen Messagetexten hast musst du einfach die Zahl erheohen, z.B.:
Out-String -Width 8192
Man kann sich mit format-table auch sein eigenes Layout bauen, siehe das folgende Beispiel und beachte die Unterschiedliche Ausgabe.
# PS Layout Get-Process | Format-Table ID, ProcessName # Eigenes Layout $ID = @{Name='ID'; Expression={$_.ID}; Width = 20; Alignment = 'Left'} $ProcessName = @{Name='ProcessName'; Expression={$_.ProcessName}; Width = 20; Alignment = 'Right'} Get-Process | Format-Table $ID, $ProcessName
Best regards
brima
- Bearbeitet brima Freitag, 29. November 2013 20:26
- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Samstag, 30. November 2013 13:27
- Als Antwort markiert Denniver ReiningMVP, Moderator Donnerstag, 5. Dezember 2013 13:21
Alle Antworten
-
Da du hier Text ausgeben willst und nicht Objekte, ist das ist einer der ganz wenigen Fälle wo der Einsatz von dem Cmdlet Format-Table sinn macht.
get-eventlog -computerName $computername -logname system -newest 10 | Format-Table -Property * -AutoSize | Out-String -Width 4096 | out-file $ReportFile_sys get-eventlog -computerName $computername -logname application -newest 10 | Format-Table -Property * -AutoSize | Out-String -Width 4096 | out-file $ReportFile_app
Warum das so ist kannst du hier lesen:
http://poshoholic.com/2010/11/11/powershell-quick-tip-creating-wide-tables-with-powershell/
PowerShell Artikel, Buchtipps und kostenlose PowerShell Tutorials + E-Books
auf der deutschsprachigen PowerShell Community
Mein 21 Teiliger PowerShell Video Grundlehrgang
Deutsche PowerShell Videos auf Youtube
Folge mir auf:
Twitter | Facebook | Google+ -
-Width 4096 beschreibt die Anzahl der Zeichen einer Zeile, weil du scheinbar Eintraege mit sehre grossen Messagetexten hast musst du einfach die Zahl erheohen, z.B.:
Out-String -Width 8192
Man kann sich mit format-table auch sein eigenes Layout bauen, siehe das folgende Beispiel und beachte die Unterschiedliche Ausgabe.
# PS Layout Get-Process | Format-Table ID, ProcessName # Eigenes Layout $ID = @{Name='ID'; Expression={$_.ID}; Width = 20; Alignment = 'Left'} $ProcessName = @{Name='ProcessName'; Expression={$_.ProcessName}; Width = 20; Alignment = 'Right'} Get-Process | Format-Table $ID, $ProcessName
Best regards
brima
- Bearbeitet brima Freitag, 29. November 2013 20:26
- Als Antwort vorgeschlagen Denniver ReiningMVP, Moderator Samstag, 30. November 2013 13:27
- Als Antwort markiert Denniver ReiningMVP, Moderator Donnerstag, 5. Dezember 2013 13:21
-
Such mal auf der folgenden Seite mit deinem Browser das Wort "Removed".
Dann lies dir durch was da über den Parameter -Wrap steht.
http://technet.microsoft.com/de-de/library/dd347677.aspx
Eine weitere Möglichkeit ist es die PowerShell Variable $FormatEnumerationLimit zu verändern.
siehe: http://exchangeserverpro.com/how-to-prevent-truncation-of-long-output-in-exchange-management-shell/
P.S. Du erfönnest hier in diesem Forum deine Frage immer als Diskussion. Das ist Falsch!
Bitte ändere diese Diskussions-Thread in einen Frage-Thread, dann Funktioniert auch das "Als Antwort" markieren wieder.
PowerShell Artikel, Buchtipps und kostenlose PowerShell Tutorials + E-Books
auf der deutschsprachigen PowerShell Community
Mein 21 Teiliger PowerShell Video Grundlehrgang
Deutsche PowerShell Videos auf Youtube
Folge mir auf:
Twitter | Facebook | Google+- Bearbeitet Peter Kriegel Freitag, 29. November 2013 14:31
-
Hallo NBC2009,
wenn die Thematik geklärt ist, markiere bitte die entsprechenden Beiträge "als Antwort".
Viele Grüße,
AlexAlex Pitulice, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.