Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

AD Anmeldung per Batch auslesen

Frage Entwicklung Batch & Shell

Mitglied: matobo

matobo (Level 1) - Jetzt verbinden

07.09.2010 um 13:18 Uhr, 7336 Aufrufe, 10 Kommentare

Hallo Batch Spezies

folgende Frage an Euch...

Ich möchte gerne eine Lösung finden, die es mir ermöglicht,
bestimmte AD Userkonten zu protokollieren.

Dieses Protokoll soll mir dann per Mail zugesand werden.

Also z.b.

User otto meldet sich Montag morgen mit seinem AD Konto
an der Domäne an.
Wenn die Anmeldung erfolgreich war, soll es als Information an
eine bestimmte Email Adresse verschickt werden.

Schön wäre auch, wenn ich nicht nur des Userkontos, evtl auch noch das Computerkonto
loggen lassen könnte.

Danke für Eure Hilfe...

P.S. sollte es per Batch nicht gehen, so wäre ich für jede andere Lösung auch dankbar...

Mit freundlichen Grüßen
matobo
Mitglied: Tigerbaby
07.09.2010 um 14:20 Uhr
Tach!

Ich hab das mit Kix realisiert. geht prima!

Hier das Skript (hab ich übrigens über das Forum gefunden, einfach mal danach suchen!)


Skriptanfang:
SETCONSOLE("hide")
SETCONSOLE("maximized")
SETTITLE("Anmeldeskript für Meine Domäne")
;
; Variablen deklarieren
;
$FileServer="192.168.0.1"
; ### Name des Servers auf welchem sich die Freigaben befinden
; ### alternativ kann auch natürlich auch eine IP-Adresse angegeben werden
;
$ProtokollServer="192.168.0.1"
; ### Name des Servers auf welchem die Freigabe für die Dokumentation
; ### der An- und Abmeldungen sowie der Rechner Infos liegt
;
$PrintServer="192.168.0.1"
; ### Name des Servers auf welchem (falls vorhanden) die Drucker
; ### eingerichtet und freigegeben sind die verbunden werden sollen
;
; *
; Hardware Informationen auslesen
; *
;
; ### Ausgabe auf die Datei "Rechnername_info.txt" umleiten anstelle des Bildschirmes
$result=ReDirectOutput ("\\"+$ProtokollServer+"\login$\"+@Hostname+"_info.txt" ,1)
;
; ### Ab jetzt werden alle Printanweisungen in die Datei "Rechnername_info.txt" ausgegeben
? "Stand "@DATE" - "@TIME
? ""
? "* Rechner Information *"
?"NetBIOS Name: "@WKSTA
?"Letzter Login von: "@USERID
?"OS: "@PRODUCTTYPE" with "@CSD
?"CPU Modell: " @CPU
?"CPU Takt: "@MHZ " MHz"
?"Speicher: "MemorySize(0)" MB"
?"IP Adresse: " @IPADDRESS0
?"IP Adresse: " @IPADDRESS1
?"MAC Adresse: "@ADDRESS
?""
;

:Login
;
;
; Login Informationen pro User
;
;
; ### hier wird die Ausgabe wieder auf die Protokoll Datei für den jeweiligen Tag umgeleitet
$result=ReDirectOutput ("\\"+$ProtokollServer+"\login$\Anmeldungen " + @YEAR + "."+ @MONTHNO + "." + @MDAYNO + ".txt" ,0)
;
; ### jetzt wird geprüft ob die Datei bereits existiert, wenn ja wird der Header nicht noch einmal in die Datei geschrieben
; ### da dieser bereits vorhanden ist.
$logExist=Exist("\\"+$ProtokollServer+"\login$\Anmeldungen " + @YEAR + "."+ @MONTHNO + "." + @MDAYNO + ".txt")
if $logExist = 0
? "+-------------------------------------------------------------------------------------------------+"
? "¦Benutzername ¦ Client ¦ Datum ¦ Uhrzeit ¦ Anmeldeserver ¦ i=login o=logout¦"
? "¦-------------+----------------------+------------+----------+------------------+-----------------¦"
endif
$user = @userid+left(" ",(13-len(@userid)))
$client = @WKSTA+left(" ",(20-len(@WKSTA)))
$lserver = @LSERVER+left(" ",(18-len(@LSERVER)))
$lserver = right($lserver,(len($lserver)-2))
? "¦"$user"¦ "$client" ¦ "@DATE" ¦ "@TIME" ¦ "$lserver" ¦ i ¦"
Exit
</font>
>>Ende Login.kix<<

>>Logoff.kix<<-- Ab hier den Inhalt markieren und in die Datei logoff.kix kopieren.
<font class="code">
; *
; Logoff Informationen pro User
; *
;
$result=ReDirectOutput ("\\"+$ProtokollServer+"\login$\Anmeldungen " + @YEAR + "."+ @MONTHNO + "." + @MDAYNO + ".txt" ,0)
$logExist=Exist("\\"+$ProtokollServer+"\login$\Anmeldungen " + @YEAR + "."+ @MONTHNO + "." + @MDAYNO + ".txt")
if $logExist = 0
? "+-------------------------------------------------------------------------------------------------+"
? "¦Benutzername ¦ Client ¦ Datum ¦ Uhrzeit ¦ Anmeldeserver ¦ i=login o=logout¦"
? "¦-------------+----------------------+------------+----------+------------------+-----------------¦"
endif
$user = @userid+left(" ",(13-len(@userid)))
$client = @WKSTA+left(" ",(20-len(@WKSTA)))
$lserver = @LSERVER+left(" ",(18-len(@LSERVER)))
$lserver = right($lserver,(len($lserver)-2))
? "¦"$user"¦ "$client" ¦ "@DATE" ¦ "@TIME" ¦ "$lserver" ¦ o ¦"
</font>
>>Ende Logoff.kix<<

>>Funktion zum entfernen der Leerzeichen in der IP Adresse<<

Den Code <?"IP Adresse: " @IPADRESS0> mit diesem ersetzen.

<font class="code">
; ### Dieser Code entfernt Leerzeichen aus der @IPADRESS0
$a = 0
$Myarray = Split(@IPADDRESS0 , " ")
For Each $Element In $MyArray
if $a = 0
$IP0 = $Element
endif
if $a= 1
$IP1= $Element
endif
if $a= 2
$IP2= $Element
endif
if $a = 3
$IP3 = $Element
endif
if $a = 4
$IP4 = $Element
endif
if $a = 5
$IP5 = $Element
endif
if $a = 6
$IP6 = $Element
endif
if $a= 7
$IP7 = $Element
endif
if $a= 8
$IP8 = $Element
endif
if $a = 9
$IP9 = $Element
endif
if $a = 10
$IP10 = $Element
endif
$a = $a + 1
Next
?"IP Adresse: " + +$IP0 + $IP1 + $IP2 + $IP3 + $IP4 + $IP5 + $IP6 + $IP7 + $IP8 + $IP9 + $IP10
</font>
Skriptende:


Es kommen dann 2 Dateien raus, deren Inhalt ungefär so aussehen:

¦mueller ¦ verwaltung02 ¦ 2010/09/07 ¦ 06:36:35 ¦ ANMELDESERVER ¦ i ¦
¦maier ¦ lager04 ¦ 2010/09/07 ¦ 08:02:01 ¦ ANMELDESERVER ¦ i ¦

(Das i am Ende steht für "Log in"!)

und die PC-Info:

Stand 2010/06/15 - 16:55:24

  • Rechner Information *
NetBIOS Name: verwaltung02
Letzter Login von: mueller
OS: Windows XP Professional with Service Pack 2
CPU Modell: Intel(R) Celeron(R) CPU 2.80GHz
CPU Takt: 2796 MHz
Speicher: 1014 MB
IP Adresse: 192.168. 0.119
MAC Adresse: 001389DF73F1


Den Inhalt der Dateien oder die Dateien selbst kann man dann ja zB. mit "blat" per Mail versenden!


Grüße, Tom
Bitte warten ..
Mitglied: DerWoWusste
07.09.2010 um 17:10 Uhr
Hi.
Man kann per GPO am DC einstellen, dass Anmeldeereignisse geloggt werden. Ebenso, dass der Server Aktionen durchführt beim Loggen bestimmter Ereignisse, zum Beispiel Mailversand.
Bitte warten ..
Mitglied: matobo
08.09.2010 um 08:35 Uhr
hallo DerWoWusste

das klingt interessant...

Kannst Du mir es bitte genau schildern, wie ich was und wo einstellen muss ??

Danke
Bitte warten ..
Mitglied: DerWoWusste
08.09.2010 um 09:50 Uhr
Anmeldungen loggen ist eh evtl. schon eingestellt. Führ zunächst mal ein rsop.msc am DC aus, um das rauszufinden. Ist es nicht eingestellt, Verändere in einer auf DCs angewendeten GPO die Überwachungseinstellungen dahingehend.
Resultat ist, dass die Anmeldungen nun im Sicherheitsprotokoll des Servers auflaufen. Dort kannst Du (bei 2008 Server) Aktionen an bestimmte Events anhängen (der Eventviewer erstellt somit geplante Tasks, die eventgetriggert sind). Man rechtsklickt also so ein Event und wählt "attach task to this event". Bei 2003 Server muss man die eventtriggers.exe (von der Kommandozeile) bemühen, um selbiges zu erreichen.
Bitte warten ..
Mitglied: matobo
08.09.2010 um 12:04 Uhr
sodele... die Anmeldungen werden nun geloggt... danke schon mal dafür..

Nun möchte ich bestimmte Anmeldeereignisse per Mail zugeschickt bekommen.

Also z.b.

Eigenschaften von Ereigniss:

Kategorie: Kontoanmeldung
Typ: Erfolgsüberwachung
Ereignisskennung: 680
Benutzer: testdomain\otto


wie oder was muss ich machen, damit mir alle Ereignisse dieser Kennung für diesen User
per Mail zugeschickt werden ??
Bitte warten ..
Mitglied: DerWoWusste
08.09.2010 um 12:26 Uhr
Einen eventgetriggerten Task hast Du schon wie beschrieben erstellt? Dann kannst Du den noch editieren (erweiterte Einstellungen setzen). Ich hab ein Bild dazu hochgeladen. Dort kann man auch nach Keywords wie dem Benutzernamen filtern. http://250kb.de/apc46tQ
Bitte warten ..
Mitglied: matobo
08.09.2010 um 12:36 Uhr
sorry - aber ich habe mit einem eventgetriggerten Task noch nie zu tun gehabt.
Es wäre mein erster...

Also wäre ich für ne detaillierte Anleitung sehr dankbar.

Evtl. kannst du mir anhand der oben genannten Daten, diesen eventgetriggerten Task mal definieren.??!!

danke
Bitte warten ..
Mitglied: DerWoWusste
08.09.2010 um 12:53 Uhr
Du hast eine genau Beschreibung erhalten. Wo bleibst Du denn stecken? Öffne den Eventviewer und nimm Dir so ein Anmeldeereignis. Dann Rechtsklick und das deutsche Pendant zu "attach task to this event" wählen. Am Ende die erweiterten Eigenschaften des Tasks anzeigen lassen und wie in der Abbildung zu sehen weitere Einstellungen konfigurieren.
Bitte warten ..
Mitglied: matobo
08.09.2010 um 14:11 Uhr
ich hänge im DOS Fenster bei den Parametern zu eventtriggers exe

ich bräuchte den genauen Befehl anhand der Daten von oben... User otto und ID 680
Bitte warten ..
Mitglied: DerWoWusste
08.09.2010 um 14:21 Uhr
eventtriggers kann zwar Event-ID-abhängig arbeiten, aber nicht nach Begriffen wie "otto" filtern - so wird das also nichts. Eine weitere Möglichkeit ist snare, eine Freeware von intersect alliance, der kann bei bestimmten keywords handeln - jedoch verschickt der keine Mails, sondern leitet events an einen Syslogserver weiter (welcher dann seinerseits daraus Mails machen müsste). Vielleicht doch lieber ThomasBergers Skript?
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Outlook & Mail
gelöst Outlook fragt Passwort ab, obwohl AD anmeldung erfolgreich (6)

Frage von LordNicon79 zum Thema Outlook & Mail ...

Windows Systemdateien
gelöst Registry-Schlüssel per Batch auslesen und in Datei schreiben (9)

Frage von Philzip zum Thema Windows Systemdateien ...

Windows Userverwaltung
PS Skript AD Objekte auslesen (1)

Frage von m.reeger zum Thema Windows Userverwaltung ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (24)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Erkennung und -Abwehr
Spam mit eigener Domain (12)

Frage von NoobOne zum Thema Erkennung und -Abwehr ...