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

Anzeigen der ersten Anmelde und letzten Abmeldezeit

Frage Microsoft Windows 7

Mitglied: killtec

killtec (Level 3) - Jetzt verbinden

13.10.2014 um 14:48 Uhr, 1557 Aufrufe, 12 Kommentare

Hallo zusammen,
ich würde gerne aus meinem System die erste Anmeldezeit und die letzte Abmeldezeit aus dem Eventlog filtern.
Versucht habe ich bisher dies:
01.
<QueryList> 
02.
  <Query Id="0" Path="Security"> 
03.
    <Select Path="Security"> 
04.
      *[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and ( Task = 
05.
12544 or Task = 12545 )]] 
06.
       and 
07.
      *[EventData[Data[@Name='TargetUsername'] and (Data='meinbenutzer')]] 
08.
    </Select> 
09.
  </Query> 
10.
</QueryList>
Aber das scheint nicht ganz das zu sein, was ich suche. Ich will also nur die Ereignisse filtern. Wo ein Benutzer sich aktiv (per Keyboard) An oder Abgemeldet hat.

OS: Windows 7 Pro

Gruß
Mitglied: colinardo
13.10.2014, aktualisiert um 19:48 Uhr
Hallo killtec,
ich würde gerne aus meinem System die erste Anmeldezeit und die letzte Abmeldezeit aus dem Eventlog filtern.
was meinst du mit erster Anmeldezeit? Die erste Anmeldung des heutigen Tages ?

Beispiel für die erste Anmeldung des Tages und der letzten Abmeldung (Powershell):
01.
$firstLogon = Get-WinEvent -LogName Security -FilterXPath "Event[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and (Task = 12544)] and EventData[Data[@Name='TargetUsername'] = 'BENUTZERNAME' and Data[@Name='LogonType'] and (Data=11 or Data=10 or Data=2)]]" | ?{$_.TimeCreated -ge (get-date).Date} | sort TimeCreated | select -First 1 
02.
$lastLogoff = Get-WinEvent -LogName Security -FilterXPath "Event[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and (Task = 12545)] and EventData[Data[@Name='TargetUsername'] = 'BENUTZERNAME' and Data[@Name='LogonType'] and (Data=11 or Data=10 or Data=2)]]" | ?{$_.TimeCreated -ge (get-date).Date} | sort TimeCreated -Descending | select -First 1 
03.
 
04.
write-host "Erste Anmeldung:"$firstLogon.TimeCreated 
05.
write-host "Letze Abmeldung:"$lastLogoff.TimeCreated 
06.
write-host "Die Differenz beträgt: "($lastLogoff - $firstLogon).toString("g")
BENUTZERNAME natürlich ersetzen.

Grüße Uwe
Bitte warten ..
Mitglied: killtec
14.10.2014 um 08:00 Uhr
Hi Uwe,
das funktioniert schon gut Danke schon mal. Wie kann ich denn einen Zeitraum angeben? Bsp. 06-10.10. Bzw. ein bestimmtes Datum? muss ich hier einfach das
01.
(get-date).Date}
durch das Datum ersetzen? Also
01.
13.10.2014}
Gruß
Bitte warten ..
Mitglied: colinardo
14.10.2014 um 08:07 Uhr
?{$_.TimeCreated -ge (get-date '06.10.2014') -and  $_.TimeCreated -le (get-date '10.10.2014')}
Grüße Uwe
Bitte warten ..
Mitglied: killtec
14.10.2014 um 08:30 Uhr
Uwe,
ist das korrekt dass die Ausgabe dieses Vefehles leer ist?:
01.
Get-WinEvent -LogName Security -FilterXPath "Event[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and (Task = 12545)] and EventData[Data[@Name='TargetUsername'] = 'Benutzername' and Data[@Name='LogonType'] and (Data=11 or Data=10 or Data=2)]]" | ?{$_.TimeCreated -ge (get-date '06.10.2014')} | sort TimeCreated -Descending | select -First 1
Gruß
Bitte warten ..
Mitglied: colinardo
14.10.2014, aktualisiert um 09:09 Uhr
Also ich erkläre das mal genauer.
Get-WinEvent filtert erst mal das komplette Eventlog nach deinen Kriterien. Danach enthält es alle gewünschten Events, jedoch noch aus dem kompletten Zeitraum des Eventlog .d.h soweit dies zurückreicht. Dies muss nun auf einen Datumsbereich eingeschränkt werden. Dazu benötigen wir zwei Zeitangaben, die Anfangszeit und die Endzeit. In deinem geposteten Code sind also alle Events vom 06.10.2014 00:00 Uhr bis jetzt enthalten, weil du die Endzeit nicht einschränkst.
Auch zu erwähnen ist, das der Fall eintreten kann das du dich an einem Tag überhaupt nicht an- oder abgemeldet hast weil z.B. der Rechner über Nacht durchgelaufen ist. Deswegen kann es durchaus sein das eins oder beide Daten leer sein können, je nachdem welchen Zeitraum du filterst. Ebenso kann es sein das sich ein Rechner zwei Tage im Hibernate befindet, dann sind natürlich für diesen Zeitraum ebenfalls keine Daten vorhanden.

Grüße Uwe
Bitte warten ..
Mitglied: killtec
14.10.2014 um 09:25 Uhr
Hi Uwe,
ok, das habe ich soweit verstanden
Jetzt bekomme ich jedoch folgende Ausgabe:
01.
PS C:\Windows\system32> $firstLogon = Get-WinEvent -LogName Security -FilterXPath "Event[System[Provider[@Name='Microsof 
02.
t-Windows-Security-Auditing'] and (Task = 12544)] and EventData[Data[@Name='TargetUsername'] = 'BENUTZERNAME' and Dat 
03.
a[@Name='LogonType'] and (Data=11 or Data=10 or Data=2)]]" | ?{$_.TimeCreated -ge (get-date '06.10.2014') -and  $_.TimeC 
04.
reated -le (get-date '10.10.2014')} | sort TimeCreated | select -First 1 
05.
PS C:\Windows\system32> $lastLogoff = Get-WinEvent -LogName Security -FilterXPath "Event[System[Provider[@Name='Microsof 
06.
t-Windows-Security-Auditing'] and (Task = 12545)] and EventData[Data[@Name='TargetUsername'] = 'BENUTZERNAME' and Dat 
07.
a[@Name='LogonType'] and (Data=11 or Data=10 or Data=2)]]" | ?{$_.TimeCreated -ge (get-date '06.10.2014') -and  $_.TimeC 
08.
reated -le (get-date '10.10.2014')} | sort TimeCreated -Descending | select -First 1 
09.
PS C:\Windows\system32> 
10.
PS C:\Windows\system32> write-host "Erste Anmeldung:"$firstLogon.TimeCreated 
11.
Erste Anmeldung: 06.10.2014 07:45:39 
12.
PS C:\Windows\system32> write-host "Letze Abmeldung:"$lastLogoff.TimeCreated 
13.
Letze Abmeldung: 
14.
PS C:\Windows\system32> write-host "Die Differenz beträgt: "($lastLogoff - $firstLogon).toString("g") 
15.
Der Vorgang "[$null] - [System.Diagnostics.Eventing.Reader.EventLogRecord]" ist nicht definiert. 
16.
Bei Zeile:1 Zeichen:51 
17.
+ write-host "Die Differenz beträgt: "($lastLogoff - <<<<  $firstLogon).toString("g") 
18.
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException 
19.
    + FullyQualifiedErrorId : NotAdefinedOperationForTypeType 
20.
 
21.
PS C:\Windows\system32>
P.S.: Habe natürlich den Benutzernamen durch meinen ersetzt gehabt.

Die Meldung, dass die Differenz nicht errechnet werden kann liegt vermutlich daran, dass die zweite Variable leer ist.
Da ich den PC abends abschalte, weiß ich. dass dort eigentlich etwas stehen sollte. Hast du hier noch eine Idee?

Danke.

Gruß
Bitte warten ..
Mitglied: colinardo
14.10.2014, aktualisiert um 09:31 Uhr
Zitat von killtec:
P.S.: Habe natürlich den Benutzernamen durch meinen ersetzt gehabt.

Die Meldung, dass die Differenz nicht errechnet werden kann liegt vermutlich daran, dass die zweite Variable leer ist.
Da ich den PC abends abschalte, weiß ich. dass dort eigentlich etwas stehen sollte. Hast du hier noch eine Idee?
Das ist ja klar, die Differenz habe ich nur als einfaches Beispiel ohne Fehlerprüfung mit eingefügt, ohne einen Wert kann ja auch nix berechnet werden
Da musst du dann eine IF-Abfrage davor setzen um zu prüfen ob die Variable einen Wert hat
01.
if ($lastLogoff -ne $null -and $firstLogon -ne $null){ 
02.
  write-host "Die Differenz beträgt:"($lastLogoff - $firstLogon).toString("g") 
03.
}
Bitte warten ..
Mitglied: killtec
14.10.2014 um 09:35 Uhr
Ok,
die Frage ist jedoch, Warum ist der zweite Wert leer obwohl da was stehen müsste?

Gruß
Bitte warten ..
Mitglied: colinardo
14.10.2014, aktualisiert um 09:41 Uhr
Zitat von killtec:
die Frage ist jedoch, Warum ist der zweite Wert leer obwohl da was stehen müsste?
Erstens kenne ich die Einträge in deinem Eventlog nicht, und zweitens ist dein hier geposteter Code in mehrere Zeilen gesplittet in der Konsole eingeben worden, so kann es nicht laufen. Pack das ganze in eine PS1-Datei und führe diese dann aus ...

Check auch mal ob deine Abmelde-Events die aufgeführten LogonType's bei dir besitzen ...
Bitte warten ..
Mitglied: killtec
14.10.2014, aktualisiert um 09:50 Uhr
Da muss ich dir recht geben
So, wenn ich das ganze in eine PS1-Datei packe, bleibt es leider trotzdem leer.

Habe das mal so in die PS eingegeben:
Get-WinEvent -LogName Security -FilterXPath "Event[System[Provider[@Name='Microsoft-Windows-Security-Auditing'] and (Task = 12545)] and EventData[Data[@Name='TargetUsername'] = 'BENUTZERNAME' and Data[@Name='LogonType'] and (Data=11 or Data=10 or Data=2)]]"

Da kommen Daten raus, aber das sieht ein bisschen komisch aus...
01.
TimeCreated 
02.
----------- 
03.
29.07.2014 10:50:41 
04.
29.07.2014 09:33:05 
05.
15.07.2014 13:35:49 
06.
15.07.2014 13:30:06 
07.
15.07.2014 11:22:03 
08.
15.07.2014 11:22:02 
09.
14.07.2014 11:45:20 
10.
14.07.2014 11:45:19 
11.
14.07.2014 10:00:08 
12.
14.07.2014 09:59:34 
13.
14.07.2014 09:59:26 
14.
03.07.2014 11:39:50 
15.
01.07.2014 11:13:37 
16.
26.06.2014 07:39:42 
17.
25.06.2014 11:45:50 
18.
19.05.2014 10:43:20 
19.
19.05.2014 10:31:16 
20.
28.04.2014 07:37:18 
21.
28.02.2014 12:47:08 
22.
26.01.2014 16:25:03 
23.
26.01.2014 12:07:20 
24.
26.01.2014 11:48:11 
25.
26.01.2014 11:39:36 
26.
18.12.2013 14:56:20 
27.
09.12.2013 07:31:30 
28.
02.10.2013 11:04:02 
29.
02.10.2013 11:01:56 
30.
17.09.2013 16:03:46 
31.
17.09.2013 13:38:37 
32.
17.09.2013 10:34:55 
33.
17.09.2013 10:14:43 
34.
17.09.2013 08:15:43 
35.
16.09.2013 16:59:42 
36.
16.09.2013 16:31:34 
37.
16.09.2013 14:19:29 
38.
16.09.2013 12:12:11 
39.
05.09.2013 15:41:16 
40.
05.09.2013 11:38:57
P.S.: Das ist die gesamte Liste...

Gruß
Bitte warten ..
Mitglied: novregen
10.04.2017 um 14:53 Uhr
Hallo, das ganze würde mich auch interessieren. Wenn es ein domain Benutzername ist, müßte die Abfrage dann auf dem DomainController erfolgen ? Habe dort einmal probiert, es werden jedoch keine Ereignisse mit dem Filter gefunden.
Bitte warten ..
Mitglied: colinardo
10.04.2017 um 15:25 Uhr
Zitat von novregen:

Hallo, das ganze würde mich auch interessieren. Wenn es ein domain Benutzername ist, müßte die Abfrage dann auf dem DomainController erfolgen ? Habe dort einmal probiert, es werden jedoch keine Ereignisse mit dem Filter gefunden.
Das ist nur für lokale Anmeldungen gedacht, für Domainanmeldungen siehe:

https://www.administrator.de/frage/script-powershell-328713.html#comment ...

Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
Grafik
PDF-Tool zum Anzeigen der letzten Scans
Frage von TlBERlUSGrafik7 Kommentare

Hallo Kollegen, ich habe momentan die Anforderung (für einen Scanner) ein PDF-Tool zu organisieren. Anforderungen sind: - Thumbnail/Abbild der ...

Webbrowser
Fenster und Tabs der letzten Sitzung anzeigen
Frage von EwaldSTWebbrowser3 Kommentare

Diese Möglichkeit -Fenster und Tabs der letzten Sitzung anzeigen- kann nicht aktiviert werden weder im Menue Chronik bzw. Einstellungen ...

Windows Userverwaltung
Erste Anmeldung und letzte Abmeldung pro Tag auflisten
Frage von CodehunterWindows Userverwaltung4 Kommentare

Hallo Experts! Ist es per SQL-Abfrage möglich, über einen Zeitraum X alle Ereignisse aus dem Eventlog zu ziehen, die ...

Router & Routing
Subnetting: Darf man das erste und letzte Subnetz verwenden?
gelöst Frage von wixmixbinRouter & Routing11 Kommentare

Hallo zusammen, früher war es so, dass man bei Subnetting das erste und letzte Subnetze nicht verwenden sollte. Ist ...

Neue Wissensbeiträge
DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 StundenDSL, VDSL

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 2 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 5 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

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 ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server19 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 prodriveNetzwerkmanagement17 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 ...