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, 4540 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
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Linux Netzwerk
DHCP IP-vergabe erst nach 1-2 Minuten (11)

Frage von Maik82 zum Thema Linux Netzwerk ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (16)

Frage von ProfessorZ zum Thema Router & Routing ...

Voice over IP
gelöst IP-Telefonie priorisieren nach 802.1p (9)

Frage von coltseavers zum Thema Voice over IP ...

Heiß diskutierte Inhalte
Linux Netzwerk
gelöst DHCP vergibt keine Adressen (32)

Frage von Maik82 zum Thema Linux Netzwerk ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...

CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (20)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Hardware
gelöst PCI-Express-Adapterfrage (14)

Frage von DerWoWusste zum Thema Hardware ...