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

Batch soll überprüfen ob sich IP geändert hat

Frage Entwicklung Batch & Shell

Mitglied: TheCranky

TheCranky (Level 1) - Jetzt verbinden

26.09.2010, aktualisiert 18.10.2012, 4649 Aufrufe, 4 Kommentare

Hallo Community,

ich möchte gerne mit einer batch überprüfen ob ich einen neue Internet IP bekommen habe

1. überprüfe welche IP man hat

nach einer gewissen zeit (oder nach ein paar anderen befehlen die in der zwichenzeit laufen) (Goto)

2. überprüffen ob die aktuelle IP noch stimmt oder eine neue existiert

- noch gleich: nach gewisser zeit nochmal prüfen oder mit anderen befehlen weitermachen (Goto)
- nicht mehr gleich: meinen angegebenen befehl folgen


Mir ist es eigendlich egal ob eine datei erstellt wird mit der IP oder ein "set %OLTIP%=( in punkt 1 überprüfte IP )" um den vergleich in punkt 2 zu starten.

MfG TheCranky
Mitglied: 60730
26.09.2010 um 21:10 Uhr
moin,

also für solche Fälle hat sich das preisgeben seiner Infrastruktur als äußert sinnvolle Massnahme erwiesen.

Mir ist es eigendlich egal ob eine datei erstellt wird mit der IP oder ein "set %OLTIP%=( in punkt 1 überprüfte IP )" um den vergleich in punkt 2 zu starten.

Nein ist es sicherlich nicht, denn 1 bedeutet - das script muß in eine Datei schreiben dürfen können - zwei bedeutet es muß eine Systemvariable gesetzt werden oder die batch wird zum dauerläufer und damit auch anfälliger für alle möglichen Probleme ....

Gruß
Bitte warten ..
Mitglied: bastla
26.09.2010, aktualisiert 18.10.2012
Hallo TheCranky!

Zu Punkt 1: http://www.administrator.de/forum/externe-ip-ermitteln-und-in-datei-spe ...

[Edit] ... bzw als Ansatz:
01.
@echo off & setlocal 
02.
set "Log=D:\IP.txt" 
03.
 
04.
set ExtIPOld=- 
05.
if exist "%Log%" set /p ExtIPOld=<"%Log%" 
06.
 
07.
set URL=http://checkip.dyndns.com/ 
08.
set G=%temp%\GetHTML.vbs 
09.
echo On Error Resume Next:Set Http=CreateObject("WinHttp.WinHttpRequest.5.1"):Http.Open "GET",WScript.Arguments(0),False:Http.Send:Q=Split(Http.ResponseText,":")(1):WScript.Echo Trim(Split(Q,"<")(0))>%G% 
10.
 
11.
:Check 
12.
set ExtIP= 
13.
for /f %%i in ('cscript //nologo %G% "%URL%"') do set "ExtIP=%%i" 
14.
if not defined ExtIP goto :NichtBekannt 
15.
 
16.
if %ExtIP%==%ExtIPOld% goto :NochGleich 
17.
>"%Log%" echo %ExtIP% 
18.
set "ExtIPOld=%ExtIP%" 
19.
:: 
20.
:: Aktionen für veränderte IP 
21.
:: 
22.
goto :Check 
23.
 
24.
:NochGleich 
25.
:: 
26.
:: Aktionen für unveränderte IP 
27.
:: 
28.
goto :Check 
29.
 
30.
:NichtBekannt 
31.
echo %date% %time:~,8% Externe IP konnte nicht ermittelt werden. 
32.
:: 
33.
:: Aktionen für IP nicht bekannt 
34.
:: 
35.
goto :Check
Bitte darauf achten, dass am Ende der Zeile 17 kein Leerzeichen stehen darf!
[/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: TheCranky
26.09.2010 um 21:24 Uhr
Zitat von 60730:
moin,

also für solche Fälle hat sich das preisgeben seiner Infrastruktur als äußert sinnvolle Massnahme erwiesen.

Sry verstehe nicht was du meinst

Zitat von 60730:
Nein ist es sicherlich nicht, denn 1 bedeutet - das script muß in eine Datei schreiben dürfen können

was ist davon abhängig

also ich meinte damit das eine zB txt datei erstellt wird indem die alte IP gespeichert wird und wo auch später die neuen IP gespeichert werden für vergleiche

Zitat von 60730:
>zwei bedeutet es muß eine Systemvariable gesetzt werden oder die batch wird zum dauerläufer und damit auch anfälliger
für alle möglichen Probleme ....

Die Batch ist ein Dauerläufer bis man sie von hand via X beendet.

Sie startet am anfang einen HomeGameServer. Bekommt man eine neue IP muss der MasterGameServer die neue IP wissen. dafür muss der HomeGameServer nach dem man eine neue IP hat neu gestartet werden. und das macht die Batch.

zZ kann meine batch testen ob generel die intenetverbindung getrennt worden ist, dafür ping ich eine seite an. aber was wenn die seite bzw. IP mal nicht anpingbar ist? dafür will ich die eigene IP testen ob sie neu ist.
Bitte warten ..
Mitglied: TheCranky
26.09.2010 um 23:37 Uhr
Danke hilft sehr

habs auch so ähnlich gefunden, und dann abgeändert

und die GetHTML.vbs habe ich manuel erstellt. dann muss die nicht immer erstellt und wieder gelöscht werden.

habe aber zwei verschiedene erstellt:

Die 1.
wenn ich die bat ausführe prüft er das internet und setzt die aktuelle IP auf "OldIP"

ist das inet vorhanden, startet er den server

01.
@echo off & setlocal 
02.
 
03.
:: Nicht exsistierende IP auf OldIP setzten 
04.
set OldIP=000.000.000.000 
05.
 
06.
:: Ueberpruefen der aktuellen IP und neue IP auf NewIP setzen 
07.
:Check 
08.
set URL=http://checkip.dyndns.com/ 
09.
set NewIP= 
10.
for /f %%i in ('cscript //nologo GetHTML.vbs "%URL%"') do set "NewIP=%%i" 
11.
 
12.
:: Wenn keine IP ermittelt werden konnte 
13.
if not defined NewIP (wait 3000 & goto :Check) 
14.
 
15.
:: Wenn IP bekannt gehe zu XXXXX startet den Server) 
16.
Goto :XXXXX

die 2.

wenn der server gestartet ist überprüft die bat ob ich eine neue IP habe um dann den server zu beenden und neu zu starten

dafür kann ich nicht die erste benutzen da der befehl set OldIP=000.000.000.000 drinne steht und der den server deswegen neu starten würde.

01.
@echo off & setlocal 
02.
 
03.
:: Ueberpruefen der aktuellen IP und neue IP auf NewIP setzen 
04.
:Check 
05.
set URL=http://checkip.dyndns.com/ 
06.
set NewIP= 
07.
for /f %%i in ('cscript //nologo GetHTML.vbs "%URL%"') do set "NewIP=%%i" 
08.
 
09.
:: Wenn keine IP ermittelt werden konnte 
10.
if not defined NewIP (wait 3000 & goto :Check) 
11.
 
12.
:: Wenn beide IPs gleich gehe zu 
13.
if %NewIP%==%OldIP% goto :Check 
14.
 
15.
:: Ersetzt die IP von OldIP gegen die IP von NewIP 
16.
set "OldIP=%NewIP%" 
17.
 
18.
:: Wenn IP geaendert gehe zu XXXXX (in meinem fall startet er den server neu und überprüft danach wieder die IP) 
19.
Goto :XXXXX
ich muss deswegen 2 machen da er zwichen den prüfungen andere dinge macht.
Bitte warten ..
Ähnliche Inhalte
Router & Routing
IP-Adresse eines Mikrotiks als VLAN-Switch

Frage von Dragan123 zum Thema Router & Routing ...

Batch & Shell
Drucker über Shell-Batch installieren (2)

Frage von Ray00731 zum Thema Batch & Shell ...

DSL, VDSL
gelöst MK Netzdienst mit fester Ip an Fritte (11)

Frage von rocco61 zum Thema DSL, VDSL ...

Neue Wissensbeiträge
Rechtliche Fragen

Heiseshow, live ab 12 Uhr: Steht die Vorratsdatenspeicherung vor dem Aus?

Tipp von sabines zum Thema Rechtliche Fragen ...

Outlook & Mail

Outlook Probleme nach Juni Updates - KB3203467 ist Schuld

(1)

Information von Deepsys zum Thema Outlook & Mail ...

Microsoft Office

Windows 7, Office 2016 RTM und Updates ohne WSUS

Tipp von chgorges zum Thema Microsoft Office ...

E-Mail

Thunderbird 52 hat Druckprobleme

(3)

Tipp von magicteddy zum Thema E-Mail ...

Heiß diskutierte Inhalte
Server-Hardware
Einem Stromausfall entgegen wirken (22)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...

DSL, VDSL
gelöst Ständige Störungen - Internet (12)

Frage von gamerff zum Thema DSL, VDSL ...