feuerstein08
Goto Top

Mit Powershell den Messageteil eines Power-Troubleshooter Eventlog-Eintrags auslesen

Powershell liefert mir nicht die korrekten Daten zurück.

Wenn ich ein Vista Notebook in den Sleep-Zustand versetze und wieder "aufwachen lasse", dann wird im System Eventlog unter der Source "Power-Troubleshooting" ein Eintrag mit der EventId 1 vorgenommen.

Im Messageteil stehen dann solche Meldungen :

The system has resumed from sleep.

Sleep Time: 03.03.2010 17:14:00
Wake Time: 04.03.2010 05:43:50

Wake Source: Unknown


Lese ich den Spaß mit Powershell aus, dann bekomme ich
The description for EventID '1' in Source ...

Warum?

Ich möchte aber gerne die Zeiten weiter auswerten.

Hier der Powershell Code:

Get-EventLog -logname system | where-object {($_.source -eq 'Microsoft-Windows-Power-Troubleshooter') } | format-table -Property TimeGenerated, message

Bin für jede Hilfe Dankbar!
Feuerstein08

Content-Key: 139484

Url: https://administrator.de/contentid/139484

Printed on: April 19, 2024 at 23:04 o'clock

Member: 5t8d1e
5t8d1e Mar 30, 2010 at 13:43:03 (UTC)
Goto Top
Hallo Feuerstein,

das sollte funktionieren,
 Get-EventLog -logname system -Source 'Microsoft-Windows-Power-Troubleshooter' | ft TimeGenerated, Message -AutoSize  

der Trick ist eigentlich das AutoSize bei Format-table


Grüße
Torsten
Member: Feuerstein08
Feuerstein08 Mar 30, 2010 at 15:58:26 (UTC)
Goto Top
Hallo Torsten,

vielen Dank für deine Antwort, aber die Darstellung ist nicht das Problem.
Ich bekomme nicht den richtigen Inhalt über die Powershell zurück geliefert.

(siehe oben)

Ich möchte die Werte haben - bekomme (auch mit deinem Code) aber leider nur diesen Output:
16.03.2010 06:55:53 The description for Event ID '1' in Source 'Microsoft-Windows-Power-Troubleshooter' cannot be found.....
11.03.2010 07:07:45 The description for Event ID '1' in Source 'Microsoft-Windows-Power-Troubleshooter' cannot be found.....
11.03.2010 07:01:42 The description for Event ID '1' in Source 'Microsoft-Windows-Power-Troubleshooter' cannot be found.....
10.03.2010 07:15:49 The description for Event ID '1' in Source 'Microsoft-Windows-Power-Troubleshooter' cannot be found.....
10.03.2010 07:09:25 The description for Event ID '1' in Source 'Microsoft-Windows-Power-Troubleshooter' cannot be found.....


Für jedes Event möchte ich aber diese Informationen haben:
The system has resumed from sleep.
Sleep Time: 03.03.2010 17:14:00
Wake Time: 04.03.2010 05:43:50
Wake Source: Unknown

Das steht im Messagebereich des Events, wenn man mit dem Eventvwr reinschaut.

Probiere es mal aus:
Schick deinen Client schlafen und wecke ihn wieder auf. Dann im System-Log nach dem Power-Troubleshooter und Event 1 suchen.

Hast du noch eine Idee?

Danke
Feuerstein08
Member: 5t8d1e
5t8d1e Mar 31, 2010 at 06:28:49 (UTC)
Goto Top
Hallo feuerstein

habe es getestet
Code:
Get-EventLog -logname system -Source 'Microsoft-Windows-Power-Troubleshooter' | ft TimeGenerated, Message -AutoSize -wrap  

Ergebnis:
 TimeGenerated       Message
-------------       -------
31.03.2010 08:27:52 Das System wurde aus dem Energiesparmodus reaktiviert.

                    Zeit im Energiesparmodus: 2010-03-31T06:27:31.274341700Z
                    Reaktivierungszeit: 2010-03-31T06:27:49.826002400Z

                    Reaktivierungsquelle: 4HID-konforme Maus
11.03.2010 08:45:56 Das System wurde aus dem Energiesparmodus reaktiviert.

                    Zeit im Energiesparmodus: 2010-03-11T07:36:38.961236900Z
                    Reaktivierungszeit: 2010-03-11T07:45:50.638802000Z



                    Reaktivierungsquelle: 4USB-Verbundgerät
10.03.2010 15:28:55 Das System wurde aus dem Energiesparmodus reaktiviert.

                    Zeit im Energiesparmodus: 2010-03-10T12:19:37.117191000Z
                    Reaktivierungszeit: 2010-03-10T14:28:48.632517400Z

Torsten
Edit war auf ein Win7. Werde es später auf einen Vista versuchen es nach zustellen.
Member: 5t8d1e
5t8d1e Mar 31, 2010 at 14:06:32 (UTC)
Goto Top
Ahoi,

so bin jetzt @home und teste das ganze und was passiert? Ich bekomm den selben Mist wie du. Damn!

sobald ich was gefunden habe werde ich es posten.


Torsten
Member: Feuerstein08
Feuerstein08 Mar 31, 2010 at 16:25:28 (UTC)
Goto Top
Hallo Torsten,

nach deinem letztem Post bin ich beruhigt. Ich dachte schon ...

Ich aber wirklich eine komische Sache, oder?

Ich hoffe, du wirst fündig. Ich habe schon einige Haare verloren face-wink

Danke für deine Mühe
Feuerstein08
Member: 5t8d1e
5t8d1e Apr 01, 2010 at 06:34:22 (UTC)
Goto Top
Moinsen Feuerstein,

ich denke das Problem konnte ich eingrenzen.

In Registry wird unter
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\eventlog\System\Microsoft-Windows-Power-Troubleshooter
angegeben in welcher dll die Meldungen enthalten sind. Unter Vista fehlt bei mir exakt dieser eintrag, warum auch immer.

leider kann ich zur Zeit auf keine "echtes" Vista zu greifen, da mir nur virtuelle OS zur Verfügung stehen. Wenn du Zeit hast werde ich heute nachmittag @home den Eintrag testen. Ansonsten hier der eintrag aus Win7.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\eventlog\System\Microsoft-Windows-Power-Troubleshooter]
"ProviderGuid"="{cdc05e28-c449-49c6-b9d2-88cf761644df}"  
"EventMessageFile"=hex(2):25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,6f,\  
  00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,\
  5c,00,70,00,6f,00,74,00,73,00,2e,00,64,00,6c,00,6c,00,00,00

grüße
Torsten
Post scriptum: auf die quasiLösung bin ich durch ein MS-KnowledgeBaseeintrag gekommen, den ich leider nicht mehr finde ;-(
Member: Feuerstein08
Feuerstein08 Apr 01, 2010 at 08:42:33 (UTC)
Goto Top
Moin Torsten,

das --> "den ich leider nicht mehr finde ;-(" passiert mir auch öfter ...

Das hört sich aber doch schon klasse an.
Fragt sich, warum dieser Eintrag bei Vista fehlt.
Da diese Abfrage auf etlichen Vista-Clients laufen soll, muss da wohl noch "etwas" installiert oder zumindest in der Registry nachgepflegt werden.

Ich bin auf deine Ergibnisse gespannt (und finde es klasse, wie du dich da reinhängst !!).
Ich bin heute nachmittag erst einmal auf der Autobahn und werde da den Osterverkehr genießen face-sad.

Ich werde also erst spät am Abend oder morgen schauen können, was es neues gibt ... (bin schon gespannt).

Gruß
Feuerstein08
Member: Feuerstein08
Feuerstein08 Apr 06, 2010 at 10:58:31 (UTC)
Goto Top
Hallo Zusammen,

Torsten hat einen Ansatz bzgl. der fehlenden Beschreibungen gefunden, aber leider bringt mich das noch nicht weiter.

Weitere Ideen sind willkommen.

Danke
Feuerstein08
Member: 5t8d1e
5t8d1e Apr 06, 2010 at 16:08:39 (UTC)
Goto Top
Hallo Feuerstein,

nachdem ich Ostern mit der Grippe gekämpft habe hier die Antwort

Get-WinEvent -providerName Microsoft-Windows-Power-Troubleshooter

Grüße
Torsten
Member: Feuerstein08
Feuerstein08 Apr 07, 2010 at 05:21:45 (UTC)
Goto Top
Hi Torsten,

wie kann man sich über Ostern eine Grippe zulegen? Ts ts ts face-wink
Ich hoffe, es geht dir wieder einigermaßen gut.

Das Get-WinEvent ist leider ein Powershell 2.0 Cmdlet. Ich habe einige tausend Clients mit Powershell 1.0 im Feld, die
ich auch nicht so einfach auf 2.0 hochziehen kann. face-sad

Kannst du dich noch an den MS-Artikel erinnern? Oder mal in der History deines Browsers wühlen?
Der Ansatz der fehlenden Registry Einträge scheint mir momentan noch der Beste zu sein.

Trotzdem : Vielen Dank für deine Hilfe!

Feuerstein08
Member: 5t8d1e
5t8d1e Apr 07, 2010 at 06:19:04 (UTC)
Goto Top
Hallo Feuerstein,

da muß ich dich leider enttäuschen. Hier ein Zitat von powershell.com:

You could have used the Get-EventLog cmdlet, however it is not able to retrieve information from event logs generated by the Windows Event Log technology such as the Setup log .......

Mit den Regeiträgen war ichg ein bissl auf den Holzweg, da sich ab Vista die Eventlogtechnologie zum großen Teil geändert hat.

hierzu auch ein paar informative Links.
MSDN
Technet

Bei einigen tausend Clients habt ihr doch WSUS, was spricht gegen ein Update der PS? Ausser testen etc., ich kenn daß, je größer die Organisation um so schwerer ist ein Upgrade durch zu bringen. Ein anderer Vorschlag wäre die Eventlogs alle auf eine Rechner sammeln und dann auszuwerten. siehe link
MSDN

Grüße
Torsten
Member: Feuerstein08
Feuerstein08 Apr 07, 2010 at 06:46:46 (UTC)
Goto Top
Hi Torsten,

schade ... dann muss ich mir tatsächlich etwas anderes einfallen lassen.

Ich schau mir die Links gleich noch mal an.

Vielen Dank für deine Mühe und Hilfe!

Feuerstein08
Member: 5t8d1e
5t8d1e Apr 07, 2010 at 15:09:46 (UTC)
Goto Top
Ahoi Feuerstein

wie wär mit folgender Lösung (Getestet mit v2)

Get-WmiObject win32_ntlogevent | Where-Object {$_.SourceName -eq "microsoft-windows-power-Troubleshooter"}

jaja das Buch was mich drauf brachte lag die ganze zeit neben mi, wenn ich nur nich so eitel wäre *schäm*

grüße
Torsten.
Member: Feuerstein08
Feuerstein08 Apr 08, 2010 at 06:10:21 (UTC)
Goto Top
Hi Torsten,

Jupp - das rockt auch unter der V1.

Klasse!

Nun noch die Masterfrage: Welches Buch staubt da vor sich hin und wie bist du auf "win32_ntlogevent" gekommen?

Gruß
Feuerstein08
Member: 5t8d1e
5t8d1e Apr 08, 2010 at 07:11:19 (UTC)
Goto Top
Ahoi Feuerstein

dieses Buch, welches mir einst vom Autor selbst übergeben wurde.
PowerShell-Scripting für Administratoren.

naja mir ging das thema und dein anderer thread (Variable an pipe übergeben) nicht so ganz aus den kopp und ich wollte mal kurz guggn wie Tobias Weltner das macht.


grüße
Torsten