jeffrey
Goto Top

Powershell Script über An und Abmeldezeit am lokalen Client

Hallo liebe Leute,

ich hoffe Ihr könnt mir helfen ich benötige Hilfe bei einen Script über Powershell ISE das den User das Datum und die Anmeldezeit ausliest

und ein Script was die Abmeldezeit am lokalen Client ausliest.

Ich habe leider nicht soviel Ahnung von Scripts schreiben.

Vielen Dank in Voraus

Content-Key: 352957

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

Printed on: April 25, 2024 at 04:04 o'clock

Mitglied: 134464
134464 Oct 26, 2017 at 15:30:58 (UTC)
Goto Top
Member: H41mSh1C0R
H41mSh1C0R Oct 26, 2017 at 15:34:08 (UTC)
Goto Top
Für die Anmeldezeit:
Import-Module ActiveDirectory
 $user = Get-ADUser "HIER DEN BENUTZER EINTRAGEN" | Get-ADObject -Properties lastLogon  
 [DateTime]::FromFileTime($user.lastlogon)

=)
Member: Penny.Cilin
Penny.Cilin Oct 26, 2017 at 15:35:55 (UTC)
Goto Top
Hallo,

aus Deiner Frage / Deinem Beitrag geht nicht hervor, warum Du es haben willst.
Ich weise nur mal auf Datenschutzrichtlinien hin.
D.h. im kommerziellen Umfeld ist diese Auswertung NICHT zulässig.
Auch im privaten Umfeld halte ich eine solche Auswertung für grenzwertig (persönlichkeitsrehct, Privatsphäre und vom Datenschutz ganz zu schweigen).

Also kläre dies mit den zuständigen Entscheidungsträgern ab.

Gruss Penny
Member: jeffrey
jeffrey Oct 26, 2017 at 15:52:44 (UTC)
Goto Top
Alles gut das ist rein Privat für mich da wir zu hause 5 Rechner stehen haben und ich kontrollieren möchte wann und wie lange die rechner an waren also alles nur lokal
Member: jeffrey
jeffrey Oct 26, 2017 at 15:54:17 (UTC)
Goto Top
Danke für dein Beitrag aber ich besitze keine Domäne mit Active Directory
Member: Penny.Cilin
Penny.Cilin Oct 26, 2017 at 15:58:28 (UTC)
Goto Top
Zitat von @jeffrey:

Alles gut das ist rein Privat für mich da wir zu hause 5 Rechner stehen haben und ich kontrollieren möchte wann und wie lange die rechner an waren also alles nur lokal
Auch da gilt Persönlichkeitsrecht und Privatsphäre.
Mitglied: 134464
134464 Oct 26, 2017 updated at 16:06:25 (UTC)
Goto Top
Zitat von @jeffrey:

Danke für dein Beitrag aber ich besitze keine Domäne mit Active Directory
s. Link oben (ohne Domain nur Lokal!).
Member: jeffrey
jeffrey Oct 26, 2017 at 16:04:34 (UTC)
Goto Top
Das ist richtig das sind meine Kinder und ich habe die Verantwortung ich will ja nicht wissen was sie gemacht haben
Member: Vision2015
Vision2015 Oct 26, 2017 at 16:47:56 (UTC)
Goto Top
Zitat von @Penny.Cilin:

Zitat von @jeffrey:

Alles gut das ist rein Privat für mich da wir zu hause 5 Rechner stehen haben und ich kontrollieren möchte wann und wie lange die rechner an waren also alles nur lokal
Auch da gilt Persönlichkeitsrecht und Privatsphäre.

moin...
ich glaube wir sollten mal rein bei der technischen seite bleiben.. es muß nicht sein, das jeder 2te satz mit "Rechtlichen Aspekten" gefüllt wird, oder Persönlichkeitsrecht und Privatsphäre! ....wir sind nicht bei Anwalt Online!
und wenn der TO zuhause seine Kinder kontrollieren möchte, sehe ich das im rahmen seiner fürsorge und aufsichtspflicht!
und wenn der TO etwa andere Mitmenschen kontrollieren möchte, geht das eben auf seine kappe.. das geht uns nix an!
wir sollten bei der technischen seite bleiben....

Frank
Member: jeffrey
jeffrey Oct 26, 2017 at 17:02:09 (UTC)
Goto Top
danke für eure vielen Zuschriften aber mit dem Link das funktioniert nicht über Windows 10.
habe es mal probiert bekomme immer fehlermeldung.

so sollte das am ende aussehen

User Datum Anmeldezeit Abmeldezeit

der User sollte variabel sein da nicht immer ein und der selbe am Pc sitzt.

Ausser ich habe mein festen.

was ich schon gemacht habe $env: Username da zeigt er dann mein name an
get-date zeigt er das datum an und die aktuelle uhrzeit
Mitglied: 134464
134464 Oct 26, 2017 updated at 17:26:12 (UTC)
Goto Top
danke für eure vielen Zuschriften aber mit dem Link das funktioniert nicht über Windows 10.
Doch das funktioniert(selbst getestet), du musst aber bei einem Rechner der nicht in einer Domain ist vorher in den lokalen Sicherheitsrichtlinien (secpol.msc) in den Überwachungseinstellungen sicherstellen das Anmeldeereignisse geloggt werden !! Denn erst dann werden die Anmeldeereignisse ins Security-Eventlog geschrieben!

screenshot
Member: jeffrey
jeffrey Oct 27, 2017 at 05:31:06 (UTC)
Goto Top
Irgendwie klappt das bei mir nicht oder ich bin einfach zu blöd dazu.

Es sollte ungefähr so aussehen
test1
Mitglied: 134464
134464 Oct 27, 2017 at 11:02:49 (UTC)
Goto Top
Zitat von @jeffrey:
Irgendwie klappt das bei mir nicht oder ich bin einfach zu blöd dazu.
S. Hinweise o.
Member: Penny.Cilin
Penny.Cilin Oct 27, 2017 at 12:13:23 (UTC)
Goto Top
Zitat von @134464:

Zitat von @jeffrey:
Irgendwie klappt das bei mir nicht oder ich bin einfach zu blöd dazu.
S. Hinweise o.
Dein Hinweis weißt aber nur auf Anmeldeeregnisse hin.
Im fehlt das Abmeldeereignis

Die Abmeldung wirst Du so nicht bekommen. Da müsstest Du im Eventlog (Security) nachschauen.

Gruss Penny
Member: jeffrey
jeffrey Oct 27, 2017 at 13:13:31 (UTC)
Goto Top
@kokosnuss ich bin jetzt total durcheinander, ich weiß nicht was du für ein Hinweis meinst
Mitglied: 134464
134464 Oct 27, 2017 at 13:23:43 (UTC)
Goto Top
Zitat von @Penny.Cilin:
Dein Hinweis weißt aber nur auf Anmeldeeregnisse hin.
Im fehlt das Abmeldeereignis
Die sind inkludiert
Die Abmeldung wirst Du so nicht bekommen. Da müsstest Du im Eventlog (Security) nachschauen.
Das ist ja gerade die Einstellung, detaillierter kann man es in den detaillierten Überwachungseinstellungen festlegen.
Member: jeffrey
jeffrey Oct 27, 2017 at 13:34:20 (UTC)
Goto Top
und wie erstellt er dadurch ein Powershell Script?
Mitglied: 134464
134464 Oct 27, 2017 updated at 13:44:22 (UTC)
Goto Top
Zitat von @jeffrey:

und wie erstellt er dadurch ein Powershell Script?
Nee, die Einstellung muss gesetzt sein denn sonst gibt es die nötigen Events im Eventlog nicht ...
Das Skript bleibt wie oben verlinkt, das filtert ja die nötigen Events aus dem Eventlog, man man man ist das so schwer????
Geht! Ich bin jetzt raus.
Member: jeffrey
jeffrey Oct 27, 2017 at 14:15:36 (UTC)
Goto Top
Achso alles klar ne so wollte ich das nicht ich möchte es viel mehr das es mir in eine CSV datei speichert die ich mit excel öffne und es da drin steht

Also ein Script was mir die An und abmeldezeiten in eine csv datei erzeugt.

Sorry wenn ich es so unverständlich rüber gebracht habe.


Mfg
Mitglied: 134464
134464 Oct 27, 2017 at 14:17:02 (UTC)
Goto Top
Also ein Script was mir die An und abmeldezeiten in eine csv datei erzeugt.
Export-CSV ist dein Freund!
Member: jeffrey
jeffrey Oct 27, 2017 at 14:55:33 (UTC)
Goto Top
das hab ich schon rausgefunden

}
$reports | Format-Table -AutoSize
$reports | Export-csv -Path C:\Scripts\report.csv -NoTypeInformation
}
das ist die Variable zum erzeugen der csv datei

bis jetzt bin ich soweit

$env:Username dann müsste noch das Datum und uhrzeit rein wie mit get- date
dann irgendwie das write- output

wie ich diese variablen erstelle ist mir noch ein rätsel
Mitglied: 134464
134464 Oct 27, 2017 at 14:57:14 (UTC)
Goto Top
wie ich diese variablen erstelle ist mir noch ein rätsel
Mit PSCustomObject oder CalculatedProperties
Member: jeffrey
jeffrey Oct 27, 2017 at 15:36:04 (UTC)
Goto Top
CalcuatedProperties = New-Object psobject -Property @{$env:USERNAME= ( get-Date) }
$env:USERNAME
$reports = @()
{
$report = Write-Output $env:USERNAME -StartDate (Get-Date -Date "2017/02/01 00:00:00") -EndDate (Get-Date -Date "2018/12/31 23:59:59") -Verbose
$reports += $report

$reports | Format-Table -AutoSize
$reports | Export-csv -Path C:\Scripts\report.csv -NoTypeInformation
}
so habe ich es geschrieben csv bleibt aber leer
Member: jeffrey
jeffrey Oct 28, 2017 at 06:04:24 (UTC)
Goto Top
kann mir bitte einer helfen ich bekomme fehlermeldung ich mache an den variablen irgendwas falsch
unbenannt1
unbenannt
Mitglied: 134464
134464 Oct 28, 2017 at 07:11:43 (UTC)
Goto Top
Du hast meine Hinweise leider vollkommen fehlinterpretiert. Schlage die Stichworte noch mal ganz genau nach und übe, sonst lernst du nichts. Denn bei deinem Geschreibsel ist so ziemlich alles falsch was man falsch machen kann.
Member: jeffrey
jeffrey Oct 28, 2017 at 09:04:55 (UTC)
Goto Top
ich bin ja nur eine laie habe vorher noch nie ein script gemacht tut mir leid wenn ich so anstrengend bin
Member: jeffrey
jeffrey Oct 28, 2017 at 10:51:37 (UTC)
Goto Top
kann mir bitte einer das script mit den variablen erstellen das hilft mir beim lernen und kann dann vieleicht andere script erstellen hab schon auf youtube geschaut und andere webseiten alles nur mit Ad
Member: aqui
aqui Oct 28, 2017 updated at 11:32:46 (UTC)
Goto Top
Ist doch schon alles fertig zum Abtippen !!!
Guckst du hier:
Anzeigen der ersten Anmelde und letzten Abmeldezeit
Was willst du denn noch mehr ?
Außerdem ist deine Shift Taste defekt. Solltest du mal reparieren.
Mitglied: 134464
134464 Oct 28, 2017 updated at 12:08:19 (UTC)
Goto Top
Zitat von @aqui:

Ist doch schon alles fertig zum Abtippen !!!
Guckst du hier:
Anzeigen der ersten Anmelde und letzten Abmeldezeit
Was willst du denn noch mehr ?
So ist es, schon im ersten Post erwähnt der Link.
hab schon auf youtube geschaut
Oh mein Gott, diese Fernseh Muftis, Doppel koppschüttel ...
Programmiersprachen lernt man nur durch fleißiges Lesen der einschlägigen Dokumentation, von nix kommt nix!!
Member: jeffrey
jeffrey Oct 28, 2017 at 13:23:29 (UTC)
Goto Top
Hab ich genauso gemacht wie in dem Post alles abgetippt und es kommt nur Fehlermeldung abtippen kann man ja nix verkehrt machen.

an dem Betriebssystem liegt es wohl nicht
script
Mitglied: 134464
134464 Oct 28, 2017 updated at 13:54:00 (UTC)
Goto Top
Tja, da kann man nur sagen "Setzen sechs!!". Du hast statt die Antworten zu lesen einfach nur dumm den XML Code des Fragestellers kopiert,sorry dämlicher geht's nicht. Das ist XML-Code den du natürlich nicht als Powershell nutzen kannst!!! Dieser XML Schnippsel ist nur für einen Custom Filter in der Eventlog-MMC gedacht! Sieht doch ein Blinder mit Krückstock, sorry ...
Member: Penny.Cilin
Penny.Cilin Oct 28, 2017 at 13:30:18 (UTC)
Goto Top
Vielleicht meint Ihr die ursprüngliche Frage.

Also entweder redet man aneinander vorbei, oder der Beitragsersteller liest nicht alles was in dem angebotenen Link (Verknüpfung) steht.

Gruss Penny
Member: jeffrey
jeffrey Oct 28, 2017 at 14:02:57 (UTC)
Goto Top
@ Kokosnuss vieleicht hast du recht mit 6 setzen wie ich schon sagte ich bin ein Laie und mit dem English habe ich es auch nicht mehr so bin ja nun schon seit 32Jahren aus der Schule raus.
In meiner Anfrage steht ein Powershell Script und nicht nach ein XML Code Sorry wenn ich jetzt an der Stelle sagen muss das du mich falsch verstanden hast.
Member: jeffrey
jeffrey Oct 28, 2017 at 14:07:26 (UTC)
Goto Top
Um es vieleicht zu verdeutlichen ich möchte ein Powershell Script das wenn der Pc hochfährt automatisch aus geführt wird und in eine CSV Datei schreibt.
Das selbe wenn er runtergefahren wird.
Wie der Script automatsch startet habe ich soweit kapiert und eingerichtet.
Und dies will ich an jeden Computer ausführen lassen sprich ich werde den Script oder wenn es 2 sind in jeden Computer dann einrichten.
Und ich glaube dieganzen Codes die mir vorgeschlagen wurden sind, sind nicht die richtigen
Member: jeffrey
jeffrey Oct 28, 2017 at 14:29:57 (UTC)
Goto Top
Jetzt habe ich mir mal alles komplett durchgelesen von von den Link, ich habs geschnallt, ich muss es nur noch für mich konfigurieren.
Ich habe nur den ersten Quelltcode abgeschrieben und das hat nicht funktioniert ohne ein Blick auf die weiteren Nachrichten.
Member: Penny.Cilin
Penny.Cilin Oct 28, 2017 updated at 16:12:05 (UTC)
Goto Top
Zitat von @134464:

ruhig Blut, Alter. face-wink

Wenn man immer nur den Link und nicht die Beiträge in den Verlinkungen liest, dann kann man auch nicht helfen.

back-to-topVielleicht sollte man bei Verlinkungen IMMER dazu schreiben AUCH die Antworten und Beiträge zu lesen.

back-to-topUnd nicht nur die Überschrift oder den ersten Beitrag / Frage.


Gruss Penny
Member: jeffrey
jeffrey Oct 29, 2017 at 09:13:41 (UTC)
Goto Top
Mit einer Super Unterstützung habe ich endlich das Script was ich wollte.

Ein Riesendank an @colinardo der mir den Anfangsscript erstellt hatte.


param(
[string]$type
)
[pscustomobject] @{
'Type' = $type
'Name' =$env:USERPROFILE
'Date' = (get-date -format "dd.MM.yy")
'Time' = (Get-Date -format "hh:MM:ss")
'Computer'= ($Computer = gc env:computername)
} | export-csv 'c:\datei.csv' -NoType -delimiter ';' -Encoding UTF8 -Append
Member: jeffrey
jeffrey Oct 29, 2017 at 09:15:17 (UTC)
Goto Top
Sehr Hilfreich finde ich https://uwelindner.de/powershell.htm