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
GELÖST

Alle IP Nummern in Textfile schreiben

Frage Entwicklung Batch & Shell

Mitglied: SvenGuenter

SvenGuenter (Level 1) - Jetzt verbinden

11.01.2008, aktualisiert 13:25 Uhr, 4529 Aufrufe, 10 Kommentare

So also folgendes Problem.
Ich möchte die IP-Nummern per script auslesen lassen.
Ich habe im ADS im Logon und im Logoff ein Script ( bzw. ein und dasselbe nur es werden je nach art verschiedene Parameter übergeben ) welches mir den usernamen;computernamen;ip-nummer;datum;uhrzeit;flag für online oder offline in eine Datei schreibt.

Nun kann es sein das ein Computer mehrere IP-Nummern hat. Diese will ich gerne auch mit in die Datei schreiben. Am liebsten wäre mir dieser string
usernamen;computernamen;ipnummer-1,ip-nummer-2,ip-nummer-n;datum;uhrzeit;flag für online oder offline

mein script bisher sieht wie folgt aus

01.
 
02.
@ECHO OFF 
03.
 
04.
REM Überabeparameter welcher angibt ob es sich um ein LOGON oder ein LOGOFF handelt 
05.
REM 1 steht für LOGON und 0 für ein LOGOFF 
06.
ECHO Argument 1 : %1 
07.
ECHO Argument 2 : %2 
08.
 
09.
 
10.
REM Prüfen ob der Parameter gesetzt wurde, Wenn er gesetzt wurde wird weitergearbeitet falls er nicht gesetzt wurde wird 
11.
REM der Batch abgeborchen 
12.
IF "%1" == ?  GOTO hilfe 
13.
IF "%1" == "" GOTO hilfe 
14.
IF "%2" == "" GOTO hilfe 
15.
 
16.
IF NOT "%1" =="" set status=%1 
17.
IF NOT "%2" =="" set pfadangabe=%2 
18.
 
19.
REM Setzen des monats und des jahres. Diese Daten werden nachher benutzt um den Namen der Datei zu bestimmen in die geschrieben werden soll 
20.
SET monat=%date:~-7,2% 
21.
SET tag=%date:~-10,2% 
22.
set IP="" 
23.
REM Ermitteln der IP-Adresse 
24.
FOR /F "tokens=2 delims=:" %%i IN ('ipconfig^|FIND "IP-Adresse"') DO SET IP=%%i         
25.
REM echo %IP% 
26.
REM Löschen der führenden Leerzeichen 
27.
SET IP=%IP:~1% 
28.
 
29.
REM Ausgabestring. Hier wird der Ausgabestring erstellt der in die passende Datei geschrieben wird. Der string setzt sich wie eine .csv Datei zusammen. 
30.
REM Man kann diese also umnennen um Sie ins Excel zu importieren oder auch direkt in eine DB importieren, da die Delemiter ; sind und ende dees Datensatzes \n 
31.
rem echo %pfadangabe%%monat%%tag% 
32.
ECHO "%USERNAME%";"%COMPUTERNAME%";"%IP%";%DATE%;%TIME%;%status% >> %pfadangabe%%monat%%tag%.txt 
33.
 
34.
GOTO ende 
35.
Rem Hier das Springziel der Hilfe. Kurze erläuterung wie man die Batchdatei aufrufen muss, damit diese funktioniert. 
36.
:hilfe 
37.
ECHO programm [1=logon oder 0=logoff] [laufwerksbuchstabe:\Ordnername\dateiname ohne dateiendung] 
38.
 
39.
:ende 
40.
 

Das Problem was ich habe ist das ich es nicht schaffe die verschiedenen IP-Nummern in irgendeinerweise zu verknüpfen.
In VB oder C oder C++ wäre das kein prob aber es soll halt über den batch passieren.



Gruß

Sven
Mitglied: miniversum
11.01.2008 um 10:42 Uhr
ersetze mal die Zeilen:
REM Ermitteln der IP-Adresse
FOR /F "tokens=2 delims=:" %%i IN ('ipconfig^|FIND "IP-Adresse"') DO SET IP=%%i
REM echo %IP%
REM Löschen der führenden Leerzeichen
SET IP=%IP:~1%
Ducht diese:
REM Ermitteln der IP-Adressen
set "IP="
FOR /F "tokens=2 delims=:" %%i IN ('ipconfig^|FIND "IP-Adresse"') DO call SET IP=%%IP%%;%%i
REM echo %IP%
REM Löschen des führenden Semikolon
SET IP=%IP:~1%
REM Löschen der führenden Leerzeichen
SET IP=%IP: =%
miniversum
Bitte warten ..
Mitglied: stbewo
11.01.2008 um 10:57 Uhr
Hallo Sven,

setlocal ENABLEDELAYEDEXPANSION
FOR /F "tokens=2 delims=:" %%i IN ('ipconfig^|FINDSTR "IP Adress"') DO SET IP=!ip!%%i

damit sollte es funktionieren (jedenfalls bei mir). "IP Adress" engl. OS.

Gruß
Stefan
Bitte warten ..
Mitglied: SvenGuenter
11.01.2008 um 11:21 Uhr
Hi Stefan,

super mit deinem String hat es geklaptp. Aber nun noch eine Frage der String in der Txt sieht folgendermaßen aus

"guenter";"IT-05";""" 192.xxx.xxx.x 192.xxx.xxx.x 172.xx.xx.xx ";11.01.2008;11:14:48,05;1


ich hätte aber gerne

"guenter";"IT-05";"192.xxx.xxx.x","192.xxx.xxx.x","172.xx.xx.xx";11.01.2008;11:14:48,05;1
oder
"guenter";"IT-05";"192.xxx.xxx.x,192.xxx.xxx.x,172.xx.xx.xx";11.01.2008;11:14:48,05;1

weißt du wie das klappt bzw. wie ich das realisieren kann?

Gruß

Sven
Bitte warten ..
Mitglied: miniversum
11.01.2008 um 11:34 Uhr
Dafür müstest du drunter noch das machen:
FOR /F "tokens=2 delims=:" %%i IN ('ipconfig^|FINDSTR "IP Adress"') DO SET IP=!ip!%%i
REM Löschen des führenden Leerzeichen
SET IP=%IP:~1%
REM Leerzeichen durch Komma ersetzen
SET IP=%IP: =,%
oder gleich so:
FOR /F "tokens=2 delims=:" %%i IN ('ipconfig^|FINDSTR "IP Adress"') DO SET IP=!ip!,%%i
REM Löschen des führenden Leerzeichen
SET IP=%IP:~1%
miniversum
Bitte warten ..
Mitglied: stbewo
11.01.2008 um 11:42 Uhr
Hallo Sven

mit

FOR /F "tokens=2 delims=:" %%i IN ('ipconfig^|FINDSTR "IP Adress"') DO SET IP=%%i,!ip!
SET IP=%IP:~0,-1%

Gruß
Stefan
Bitte warten ..
Mitglied: SvenGuenter
11.01.2008 um 12:17 Uhr
super Stefan danke das klappt echt genial. Aber nun habe ich nur noch ein problem und zwar folgendes der string in der txt sieht folgendermaßen aus
"guenter";"IT-05";"172.xx.xx.18, 192.xxx.xxx.1, 192.xxx.xxx.1,"" ";11.01.2008;12:15:07,63;1

problem sind die " " nach der letzten ip. bekommt man die im batch noch weg oder muss ich die im vbs ersetzen bzw. löschen
Bitte warten ..
Mitglied: stbewo
11.01.2008 um 12:43 Uhr
Hallo Sven,

du hast noch wahrscheinlich

set IP=""

in deinem Batch stehen. Lösch das raus und nehm noch das

SET IP=%IP:~0,-1%

unter "for" rein damit das letzte Komma gelöscht wird.


Gruß
Stefan
Bitte warten ..
Mitglied: SvenGuenter
11.01.2008 um 12:54 Uhr
japp gemacht und der string sieht immer besser aus

"guenter";"IT-05";" 172.xx.xx.18, 192.xxx.xxx.1, 192.xxx.xxx.1, ";11.01.2008;12:52:08,41;1

01.
setlocal ENABLEDELAYEDEXPANSION 
02.
FOR /F "tokens=2 delims=:" %%i IN ('ipconfig^|FIND "IP-Adresse"') DO SET IP=%%i,!ip!         
03.
rem echo %IP% 
04.
SET IP=%IP:~0,-1% 
05.
pause
leider ist das Komma noch drin.
Bitte warten ..
Mitglied: stbewo
11.01.2008 um 13:03 Uhr
Dann spiel mal mit

SET IP=%IP:~0,-1%

und mach aus der 1 eine 2. Es sollten eigentlich alle Stellen bis auf die letzte (-1) übernommen werden.

Stefan
Bitte warten ..
Mitglied: SvenGuenter
11.01.2008 um 13:25 Uhr
hi Stefan super hat geklappt.

danke nochmal kann das script dann gleich mal ausprobieren.


Gruß

Sven
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

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

Ähnliche Inhalte
Batch & Shell
gelöst Loginzeiten aus dem Ereignisprotokoll in Excel schreiben (1)

Frage von l-Ne0n zum Thema Batch & Shell ...

E-Mail
gelöst Mail Spam fremde IP (10)

Frage von BerndP zum Thema E-Mail ...

DNS
gelöst Sophos UTM9 - FTP nur über IP erreichbar (4)

Frage von PronMaster zum Thema DNS ...

Batch & Shell
gelöst Selected Gridview Value in Variable schreiben (4)

Frage von reissaus73 zum Thema Batch & Shell ...

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

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

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...