Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Variable Abfrage der Eventlogs mit Powershell 1.0

Frage Entwicklung Batch & Shell

Mitglied: Feuerstein08

Feuerstein08 (Level 1) - Jetzt verbinden

06.04.2010, aktualisiert 14:58 Uhr, 7348 Aufrufe, 7 Kommentare

Ich verstehe den Unterschied nicht ...

Um Abfragen der Eventlogs flexibel zu gestalten, wollte ich die zu suchenden Events mittels einer Variable übergeben.

Beispiel:
01.
get-eventlog -logname system | where-object {($_.Eventid -eq 6005)} | select Index, EventID, Source, Message 
02.
 
03.
                        Index                       EventID Source                        Message 
04.
                        -----                       ------- ------                        ------- 
05.
                         8824                          6005 EventLog                      The Event log service was ... 
06.
                         8693                          6005 EventLog                      The Event log service was ... 
07.
                         8550                          6005 EventLog                      The Event log service was ... 
08.
                         8413                          6005 EventLog                      The Event log service was ... 
09.
                         8169                          6005 EventLog                      The Event log service was ...
Packe ich die Abfrage in eine Variable und teste damit die Ausgabe, dann sieht das so aus:
01.
$query = '($Eventid -eq 6005)' 
02.
get-eventlog -logname system | where-object { $query } |select EventID, Source, Message 
03.
 
04.
                        Index                       EventID Source                        Message 
05.
                        -----                       ------- ------                        ------- 
06.
                         9028                          7036 Service Control Manager       The description for Event ... 
07.
                         9027                            19 Microsoft-Windows-WindowsU... The description for Event ... 
08.
                         9026                          7036 Service Control Manager       The description for Event ... 
09.
                         9025                          7036 Service Control Manager       The description for Event ... 
10.
                         9024                          7040 Service Control Manager       The description for Event ... 
11.
                         9023                          4383 Microsoft-Windows-Servicing   Windows Servicing complete... 
12.
                         9022                          4373 Microsoft-Windows-Servicing   Windows Servicing successf... 
13.
...
Warum, oder besser: wie kann ich die Abfrage korrekt mit meiner Variablen gestalten?

Für jede gute Idee ist Willkommen ..
Feuerstein08
Mitglied: Snowman25
06.04.2010 um 13:50 Uhr
Hallo Feuerstein08,

Reicht dir CSCRIPT EVENTQUERY.vbs <arguments> nicht?
Wenn du das Skript nicht hast (k.A. ob das von PS 1.0 kommt oder bei XP Pro schon dabei ist etc..) kann ich es dir gerne schicken.
Normalerweise befindet es sich in %windir%/System32

Greetz
Snow
Bitte warten ..
Mitglied: Feuerstein08
06.04.2010 um 14:11 Uhr
Hallo Snow,

danke für deine Antwort, aber das ist nicht das gesuchte ...

Ich möchte diesen Teil gerne mit Powershell lösen, da dies nur ein kleiner Teil eines größeren Powershell-Skripts ist.

... und ich möchte den Unterschied - das Problem verstehen ...

Feuerstein08
Bitte warten ..
Mitglied: Snowman25
06.04.2010 um 14:42 Uhr
Zitat von Feuerstein08:
Beispiel:

get-eventlog -logname system | where-object {($_.Eventid -eq 6005)} | select Index, EventID, Source, Message
vergleiche dazu:
Zitat von Feuerstein08:
$query = '($Eventid -eq 6005)'
get-eventlog -logname system | where-object { $query } |select EventID, Source, Message

Da fehlt ein _. vor Eventid, oder?
Bitte warten ..
Mitglied: Feuerstein08
06.04.2010 um 15:52 Uhr
Hallo Snow,

schade ... ich dachte du hättest den "blöden" Fehler gefunden. Leider ist dieser Fehler nur hier durch einen "Copy & Paste" Fehler reingekommen.

Du hast aber Recht, da gehört ein "_." rein. Aber auch damit bekomme ich die falsche Ausgabe:

$query = '($_.Eventid -eq 6005)'
get-eventlog -logname system | where-object { $query } |select EventID, Source, Message

EventID Source Message
------- ------ -------
7036 Service Control Manager The description for Event ID '107374...
7036 Service Control Manager The description for Event ID '107374...
7036 Service Control Manager The description for Event ID '107374...
10029 DCOM The description for Event ID '-10737...
Bitte warten ..
Mitglied: Snowman25
06.04.2010 um 16:20 Uhr
Hallo Feuerstein08,
Habs jetzt mal ausprobiert..
Geschweifte Klammern um einen Text bewirken, dass der Inhalt NICHT ausgewertet wird. So steht bei der Ausführung eben immer noch where-object $query zwischen den Pipes.
Zwar könnte man die geschweiften Klammern auch in $query reinschreiben ($query= '{($_.Eventid-eq 6005)}'). Bringt aber nichts:
Zitat von powershell
PS U:\> get-eventlog -logname system|where-object $query|select Index, EventID, Source, Message
Where-Object : A parameter cannot be found that matches parameter name '{($_.Eventid -eq 6005)}'.
At line:1 char:42
+ get-eventlog -logname system|where-object <<<< $query|select Index, EventID, Source, Message

Kurz:
SO wird das nichts... aber da gibts sicherlich auch 'nen workaround.

Greetz
Snow
Bitte warten ..
Mitglied: Feuerstein08
07.04.2010 um 12:07 Uhr
Hallo Snow,

ich habe eine Lösung für das Problem erhalten.

Nachdem die $query zusammengebastelt ist, das ganze noch einmal "einpacken"?:

$sb = [ScriptBlock]::Create($query)

dann klappt auch die Where-Object Abfrage wieder:

get-eventlog -logname system | Where-Object $sb |select EventID, Source, Message

Was genau hinter diesem Befehl "$sb = [ScriptBlock]::Create($query)" steckt muss ich noch herausfinden (will ja schließlich auch was lernen )

Gruß
Feuerstein08
Bitte warten ..
Mitglied: Snowman25
07.04.2010 um 12:13 Uhr
Zitat von Feuerstein08:
Hallo Snow,

ich habe eine Lösung für das Problem erhalten.

schön zu hören

Was genau hinter diesem Befehl "$sb = [ScriptBlock]::Create($query)" steckt muss ich noch herausfinden (will ja
schließlich auch was lernen )

Gute Frage. ich weiß selbst nicht, was das nun genau bewirkt... Bin nicht so der Powershell-Profi bzw. überhaupt so Powershellbenutzer. Aber ein paar debugging-skills und die Fähigkeit zu lesen hilft oft schon wunder

Gruß
Feuerstein08

Gruß
Snowman25
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
PowerShell EventLog informationen filtern
gelöst Frage von derhoeppiBatch & Shell1 Kommentar

Hallo, mit Hilfe von Get-EventLog hole ich mir bestimmte Einträge in ein Array. Das Array verfügt über drei für ...

Exchange Server
Powershell Archivmailbox abfrage Abfrage
Frage von Clubby84Exchange Server5 Kommentare

Hallo zusammen, möchte gerne eine Ausgabe in eine Datei haben, mit allen Mailboxen, bei denen das Archiv noch nicht ...

Windows Server
PowerShell-Abfrage
gelöst Frage von r00t-1337Windows Server5 Kommentare

Hallo Zusammen, ich bin auf der suche nach einer Powershell-Abfrage welche mir alle AD-Gruppen inkl. aller Benutzer darin auflistet ...

Batch & Shell
Powershell Prozessorauslastung abfragen
gelöst Frage von 114757Batch & Shell5 Kommentare

Hallo liebes Forum, ich beschäftige mich gerade mit Powershell und möchte mit einem Script kontinuierlich alle 5 Sekunden die ...

Neue Wissensbeiträge
Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 1 TagApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Windows 10

Windows 10 v1709 EN murkst bei den Regionseinstellungen

Tipp von DerWoWusste vor 1 TagWindows 10

Dieser kurze Tipp richtet sich an den kleinen Personenkreis, der Win10 v1709 EN-US frisch installiert und dabei die englische ...

Webbrowser

Kein Ton bei Firefox Quantum über RDP

Tipp von Moddry vor 1 TagWebbrowser

Hallo Kollegen! Hatte das Problem, dass der neue Firefox bei mir auf der Kiste keinen Ton hat, wenn ich ...

Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 1 TagInternet4 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registrierung von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server18 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement16 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...