pexx83
Goto Top

Protokollierung IP-Adresse, Computername u. Username in Textdatei(n)

Hallo zusammen,

ich habe vor in unser Loginskript noch eine Zusatzfunktion mit einzubauen jedoch fehlt mir noch das nötige Know How
das Problem selbst zu lösen.
Ich habe vor von jedem Client im Netzwerk der sich anmeldet die Informationen IP-Adresse, Computername u. Username incl. Datum welches in Verbindung mit dem Usernamen in der Namensgebunh eines Textfiles das die Informationen enthalten soll, zentral auf dem Server abzulegen.

Ich will so eine historie der Informationen am Server anlegen. Eine art "DNS cache".

Vor habe ich das ganze via batch zu realisieren, falls irgendmöglich.

Was ich bisher hingekriegt habe, testweise funktioniert noch nicht so ganz face-smile
@echo Off
for /F "tokens=13,*" %i in ('ipconfig^|find "IP-Ad"') do set IP=%j  

set IP ->D:\test.txt
set computername ->D:\test.txt
set username ->D:\test.txt
Für eure Hilfe wäre ich sehr dankbar.

Content-Key: 71225

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

Ausgedruckt am: 29.03.2024 um 06:03 Uhr

Mitglied: Warze69
Warze69 17.10.2007 um 18:31:42 Uhr
Goto Top
Zuerst eine versteckte Freigabe auf dem Server erstellen.

z.B.: %date%,%time%,%computername%,%logonserver% >> \\server\freigabe$\%username%.txt
Mitglied: paulepank
paulepank 17.10.2007 um 19:01:00 Uhr
Goto Top
Hallo ,

Das wäre eine mögliche Lösung

@echo Off
for /F "tokens=13,*" %%i in ('ipconfig^|find "IP-Ad"') do @set IP=%%j  
echo %computername%=%IP% Nutzer=%username%  %date% %time% >>D:\test.txt



cu paulepank
Mitglied: Pexx83
Pexx83 17.10.2007 um 19:15:53 Uhr
Goto Top
Zunächst einmal danke für eure antworten.

Die 2 Variante finde ich ziemlich reizvoll aber wie schaffe ich es für jeden user ein eigenes Textfile mit den
Variabelen %Datum% u. %Username% auf dem server über Batch zu generieren?
Mitglied: Dani
Dani 17.10.2007 um 19:19:38 Uhr
Goto Top
Abend Pexx,
also ich würde die Logs alle auf den Server ablegen. Sprich eine Freigabe xyz$ (Wichtig: Das Dollar sagt, die ist nicht sichtbar)! Du musst aber Freigabe / NTFS-Rechte auf Vollzugriff "Jeder" einstellen.

Wir schreiben z.B. pro Tag eine Logfile. Du kannst aber gerne anders machen. Einfach die Umleitung auf ">> \\server\freigabe$\%date%.log" anpassen und schon geht es.

Wenn du es wirklich Bombensicher machen willst, du kein User die Freigabe finden soll, wähle einen außergewöhnlichen Namen (z.B. ase34fgf). Zusätzlich könntest du das Logprozedere in eine Consolen-EXE programmieren. Ist problemlos mit C#, Borland C++ oder Delphi möglich.


Grüße
Dani
Mitglied: Biber
Biber 17.10.2007 um 19:23:51 Uhr
Goto Top
@paulepank

Noch zwei ganz haarspalterische Anmerkungen:
  • Entweder in Deiner Variante noch ein "& Setlocal" ergänzen:
@echo Off & setlocal
for /F "tokens=13,*" %%i in ('ipconfig^|find "IP-Ad"') do @set IP=%%j  
echo %computername%=%IP% Nutzer=%username%  %date% %time% >>D:\test.txt

  • oder auf das Setzen der Variablen ganz verzichten:
@for /F "tokens=13,*" %%i in ('ipconfig^|find "IP-Ad"') do (  
@echo %computername%=%%i Nutzer=%username%  %date% %time% >>D:\test.txt
)

Aber das ist wie geschrieben fast schon zu perfektionistisch für Gebrauchsbätche...

Gruß
Biber
Mitglied: Pexx83
Pexx83 17.10.2007 um 19:59:02 Uhr
Goto Top
Ich hab mich für folgende Variante entschieden:
@echo Off

for /F "tokens=13,*" %%i in ('ipconfig^|find "IP-Ad"') do @set IP=%%j  
echo Datum: %date% %time% / Nutzer=%username% / IP Adresse: %IP% / Computername: %computername% >>  \\Server IP\freigabe$\%date%.log
Vielen lieben dank für eure Hilfe!
Mitglied: paulepank
paulepank 17.10.2007 um 20:28:24 Uhr
Goto Top
Hallo,

dann biite noch den Hinweis von Biber mit @echo Off & setlocal beachten und den Beitrag als gelöst markieren.

cu paulepank
Mitglied: Pexx83
Pexx83 17.10.2007 um 20:45:16 Uhr
Goto Top
Ok werde ich machen. Kannst du mir bitte noch kurz erläutern was "setlocal" für eine bewandnis in dem script hat?
Mitglied: Pjordorf
Pjordorf 17.10.2007 um 23:31:02 Uhr
Goto Top
Kannst du mir bitte noch
kurz erläutern was "setlocal"
für eine bewandnis in dem script hat?

Da wollte man dir sagen, klicke auf dein Desktop, drücke die "F1" Funktionstaste, gebe im suchfenster dann "setlocal" ein, drücke "Enter" und lese den ersten Beitrag der angezeigt wird.