GELÖST Windows7 Batch-Script für automatische DynDNS Anmeldung - Hilfe benötigt

Diskutiere Windows7 Batch-Script für automatische DynDNS Anmeldung - Hilfe benötigt im Programmierung Forum im Bereich Programmierung; Hi, seit neustem muss man sich bei dyndns.org alle 30Tage einmal manuell einloggen sonst wird der Hostname gelöscht. Auf dieser Seite fand ich...
#1
T

TormDM

Threadstarter
Dabei seit
20.04.2008
Beiträge
118
Hi,
seit neustem muss man sich bei dyndns.org alle 30Tage einmal manuell einloggen sonst wird der Hostname gelöscht.

Auf dieser Seite fand ich ein Script welches sich automatisch einloggt. Dabei handelt es sich aber um ein Script welches nur auf einem Unix System läuft. In den Kommentaren schrieb jemand, dass es auch unter Windows laufen würde, unter Verwendung dieses Scriptes.

Ich habe allerdings echt kein Plan was ich mit diesen beiden Scripten machen soll. Habe verschiedene Sachen ausprobiert, das mit dem Dos-Fenster aufgerufen, allerdings meckerte er dann wegen unbekannten Befehlen.

Kann mir da jemand weiterhelfen? Danke!

Gruß
 
#2
Hups

Hups

Katzennarr
Team
Dabei seit
01.07.2007
Beiträge
18.080
Ort
D-NRW
Plan habe ich davon auch nicht.
Aber versuche es doch einfach mal mit dem hier angebotenen Download.
Problem könnte aber sein: Funktioniert natürlich nur solange "Dyn.com" die Website nicht umstrukuriert.
 
#3
automatthias

automatthias

vernunftgeplagt
Dabei seit
21.04.2006
Beiträge
7.751
Für die erste Variante braucht man cygwin, das ist eine Portierung von Unix-Kommandos für Windows.
Für das von Hups vorgeschlagene braucht man AutoIt

Ich habe jetzt nicht die Zeit, aber morgen früh kann ich Dir mehr dazu erklären.
 
#4
T

TormDM

Threadstarter
Dabei seit
20.04.2008
Beiträge
118
Ah okay, man braucht also eine eigene Software dafür, das würde erklären warum es nicht einfach so lief.

Auf jeden Fall schonmal danke für eure Antworten, wäre prima wenn du morgen noch was dazu schreiben könntest :)
 
#6
T

TormDM

Threadstarter
Dabei seit
20.04.2008
Beiträge
118
Naja der Router hat einen DynDNS Updater (wenn auch einen unzuverlässigen, aber anderes Thema) der macht aber das gleiche wie die Dyn-Updater Software, er loggt sich ein und aktualisiert meine IP. Damit der Hostname aber nicht nach 30 Tagen gelöscht wird, muss man sich *manuell* einloggen und nicht automatisiert durch einen Router oder einer Software. Diese Scripte sollen diesen *manuellen* Login automatisieren.
 
#7
G

GaxOely

Gast
Naja der Router hat einen DynDNS Updater (wenn auch einen unzuverlässigen, aber anderes Thema) der macht aber das gleiche wie die Dyn-Updater Software, er loggt sich ein und aktualisiert meine IP. Damit der Hostname aber nicht nach 30 Tagen gelöscht wird, muss man sich *manuell* einloggen und nicht automatisiert durch einen Router oder einer Software. Diese Scripte sollen diesen *manuellen* Login automatisieren.
Ich nutze seit 8 Jahren die Router Variante!
 
#8
HaraldL

HaraldL

Dabei seit
26.07.2006
Beiträge
5.778
Ort
Niederbayern
Ich nutze seit 8 Jahren die Router Variante!
Dann nutzt du aber entweder einen anderen Dienst als Dyndns.com oder du hast dort einen Bezahl-Account. Denn seit kurzem werden dort die Free-Account rigoros gelöscht die sich nicht monatlich per Browser auf der Webseite einloggen. Wer Free nutzt und nur per Router seine IP updatet verliert nach einiger Zeit seinen Account.

Ich selber hab dort einen kostenpflichtigen Pro-Account weil ich da jede Menge Router eingetragen hab, ich glaub da könnte ich 30 Hosts hinzufügen. Als Dyndns die Schikane einführte hab ich einige Free-Accounts von Freunden und Bekannten in meinen Account übernommen so daß die jetzt auch kein Problem mehr haben.
 
#10
automatthias

automatthias

vernunftgeplagt
Dabei seit
21.04.2006
Beiträge
7.751
So, jetzt habe ich mir das mal angeschaut.

Also, wie schon gesagt, zuerst müsstest Du Dir die cygwin-Umgebung installieren. (cygwin ist eigentlich nur eine DLL, die eine Schnittstelle zwischen Windows und der Unix-Welt bietet. Mithilfe dieser DLL können viele Unix/Linux-Kommandos so kompiliert werden, dass sie unter Windows laufen und das Gefühl von Unix bieten.)

Zur Installation die setup-exe runterladen und ausführen.
Bei der Installation kommt irgendwann die Frage nach der Downloadquelle. Da empfiehlt es sich, einen Server aus Deinem Land auszuwählen. In Deutschland z.B. Uni Erlangen oder Dresden.

Zunächst sollte die Default-Einstellungen beim Download reichen. Aber: aus dem Web-Paket musst Du noch "curl" auswählen, da das in dem Skript verwendet wird.

Screenshot - 23.08.2013 , 08_01_57.png

Anschließend müsstest Du die Batchdatei aus Deiner zweiten Quelle (github) anpassen: der Pfad für die bash.exe und der Pfad zu dem anderen Skript.
Dieser sollte unter dem Namen dyndnslogin.sh abgespeichert sein. (Wenn Du einen Eidtor wie z.B. Notepad++ verwendest, ist das besser zu lesen).
In diesem Shell-Skript kannst Du noch den Standrad-Benutzernamen und Passwort eintragen (Zeile 11 und 12), Bitte unbedingt die "" beibehalten.
 
#11
K

karmu

Dabei seit
14.07.2011
Beiträge
911
Wäre es nicht wesentlich einfacher, sich einen anderen Zugang zuzulegen?
Ich bin schon länger von DynDNS weg und habe mir hier einen Freeaccount angelegt. Die werden auch von den meisten Routern unterstützt.
 
#12
T

TormDM

Threadstarter
Dabei seit
20.04.2008
Beiträge
118
Schonmal vielen Dank für die ausführliche Erklärung. Leider klappt es noch nicht auf Anhieb.

Ich hab cygwin so installiert wie beschrieben und die beiden Scripte angepasst. Starte ich nun die batch-Datei (das 2. Scipt) öffnet sich kurz ein Dos-Fenster und ist sofort wieder zu.
Öffne ich zuerst das cygwin-Terminal und packe dort das Script rein bekomme ich diverse Fehlermeldungen, dass er verschiedene Befehle nicht kennt oder diese falsch geschrieben sind (selbiges passiert auch wenn ich die Windows command line nehme).

Starte ich direkt das shell-Script mit der cygwin Konsole meckert er an 3 Zeilen herum:
Zeile 8: $'\r' : Kommando nicht gefunden
Zeilte 13: $'\r' : Kommando nicht gefunden
Zeile 59: Syntax Fehler: unerwartetes Dateiende

Ist das Script nicht sauber geschrieben, oder habe ich da irgendwas falsch gemacht?
 
#13
automatthias

automatthias

vernunftgeplagt
Dabei seit
21.04.2006
Beiträge
7.751
Starte ich direkt das shell-Script mit der cygwin Konsole meckert er an 3 Zeilen herum:
Zeile 8: $'\r' : Kommando nicht gefunden
Zeilte 13: $'\r' : Kommando nicht gefunden
Zeile 59: Syntax Fehler: unerwartetes Dateiende

Ist das Script nicht sauber geschrieben, oder habe ich da irgendwas falsch gemacht?
Oops. Das ist jetzt gemein. Vor allem, weil z.B. Zeile 8 leer ist.
Des Rätsels Lösung: der Shell-Skript muss im Unix-Format sein. Bei DOS/Windows stehen bei einer Textdatei an jedem Zeilenende die Steuerzeichen CR+LF (Wagenrücklauf und Zeilenvorschub, Hex 0D 0A), bei Unix aber nur der Zeilenvorschub.
Mit Notepad++ kann man das leicht ändern: Menü Bearbeiten-->Format Zeilenende-->Konvertiere zu Unix
(Ich hätte allerdings gedacht, dass die bash mittlerweile da nicht mehr so pingelig ist)
 
#14
T

TormDM

Threadstarter
Dabei seit
20.04.2008
Beiträge
118
Ah perfekt, daran hat es gelegen. Nun kann ich das dyndnslogin.sh direkt mit der cygwin-Konsole starten. Vielen Dank :)

Hast du vielleicht auch eine Idee wieso die batch-Datei nicht funktioniert? Die sollte doch eigentlich automatisch die cygwin-Konsole öffnen und das shell-script reinladen?
 
#15
automatthias

automatthias

vernunftgeplagt
Dabei seit
21.04.2006
Beiträge
7.751
Hast Du in der Batchdatei die Zeilen 3 und 4 angepasst?

Sonst lass die erste Zeile (echo off) mal weg und gib am Ende noch in einer Zeile den Befehl pause ein. Dann kannst Du sehen was passiert.
 
#16
T

TormDM

Threadstarter
Dabei seit
20.04.2008
Beiträge
118
Also wenn ich da irgendwo (z.b. hinter dem +) ein PAUSE eintrage ändert sich nichts, das fenster schließt sich trotzdem. Ich kann die Datei aber auch mit der Windows command line öffnen. Dann sehe ich die Fehlermeldungen.

Script:
+@echo off
+
+SET CYGWIN_BASH=E:\Programme\cygwin\bin\bash.exe
+SET DYNDNS_SHELLSCRIPT_PATH=H:\My\Datein\dyndns\dyndnslogin.sh
+
+%CYGWIN_BASH% --login -c '%DYNDNS_SHELLSCRIPT_PATH%'
+
+REM You can also use optional arguments (if the script is modified)
+REM %CYGWIN_BASH% --login -c '%DYNDNS_SHELLSCRIPT_PATH% username password'
fehlermeldung.jpg
 
#17
automatthias

automatthias

vernunftgeplagt
Dabei seit
21.04.2006
Beiträge
7.751
Ach so, jetzt ist es klar: die +Zeichen darf man nicht eingeben. Also nur so:
Code:
REM @echo off

SET CYGWIN_BASH=E:\Programme\cygwin\bin\bash.exe
SET DYNDNS_SHELLSCRIPT_PATH=H:\My\Datein\dyndns\dyndns login.sh

%CYGWIN_BASH% --login -c '%DYNDNS_SHELLSCRIPT_PATH%'

REM You can also use optional arguments (if the script is modified)
REM %CYGWIN_BASH% --login -c '%DYNDNS_SHELLSCRIPT_PATH% username password' 
PAUSE
 
#18
T

TormDM

Threadstarter
Dabei seit
20.04.2008
Beiträge
118
Ah ok, das wusste ich nicht. Die ganzen Fehlermeldungen bzgl. unbekannter Befehle sind nun weg, dafür bekomme ich folgende Meldung:

fehlermeldung2.jpg

Irgendwie bekommt er die cygwin Konsole nicht gestartet.
 
#19
automatthias

automatthias

vernunftgeplagt
Dabei seit
21.04.2006
Beiträge
7.751
Nimm statt H:\My.....
mal /cygdrive/h/My....
 
#20
T

TormDM

Threadstarter
Dabei seit
20.04.2008
Beiträge
118
Jap das war der Kniff der gefehlt hat. Ich habe das Script nun noch etwas erweitert:

Code:
SET CYGWIN_BASH=C:\Programme\cygwin\bin\bash.exe
SET DYNDNS_SHELLSCRIPT_PATH=/cygdrive/c/Programme/cygwin/scripts/dyndnslogin.sh
SET DATESTAMP=%date%
SET TIMESTAMP=%time%
SET STAMP=%DATESTAMP%_%TIMESTAMP%
echo %STAMP% >>log.txt
%CYGWIN_BASH% --login -c '%DYNDNS_SHELLSCRIPT_PATH%'>>log.txt
echo\ >>log.txt
Somit erstellt er mir noch einen Time und Date-Stamp und packt mir das mit der Aussage "Login successful" in eine log-Datei. Dazu habe ich dann in Windows einen Task angelegt der das Script 1mal pro Woche startet.

Nun sollte die automatische Aktualisierung eigentlich klappen :)


Vielen, vielen Dank für die Hilfe mit Script :)


Edit:

Code:
SET CYGWIN_BASH=C:\Programme\cygwin\bin\bash.exe
SET DYNDNS_SHELLSCRIPT_PATH=/cygdrive/c/Programme/cygwin/scripts/dyndnslogin.sh
SET DATESTAMP=%date%
SET TIMESTAMP=%time%
SET STAMP=%DATESTAMP%_%TIMESTAMP%
echo %STAMP% >>C:\Programme\cygwin\scripts\log.txt
%CYGWIN_BASH% --login -c '%DYNDNS_SHELLSCRIPT_PATH%'>>C:\Programme\cygwin\scripts\log.txt
echo\ >>C:\Programme\cygwin\scripts\log.txt
Damit funktioniert dann auch das automatische logging richtig. Für den Windowstask muss der komplette Pfad der Log-Datei angegeben werden.
 
Zuletzt bearbeitet:
Thema:

Windows7 Batch-Script für automatische DynDNS Anmeldung - Hilfe benötigt

Windows7 Batch-Script für automatische DynDNS Anmeldung - Hilfe benötigt - Ähnliche Themen

  • windows7-Support endet

    windows7-Support endet: Sollte man dann nicht über einen Wechsel zu Linux nachdenken ?
  • Windows7 pro

    Windows7 pro: Nach erforderlich gewordener Neuinstallation von Window7 pro funktioniert die upDate Funktion nicht mehr. Folgende Fehlermeldung 80070000E
  • Fehlermeldung 0xc0000142 nach Windows7 Update (10.01.2019)

    Fehlermeldung 0xc0000142 nach Windows7 Update (10.01.2019): Hallo, ich habe seit meinem Windows7 Update zum 10.01.2019 einen regelmäßigen Fehler, der bei einigen Windowsexen den Fehlercode 0xc0000142...
  • Windows7 Ultimate

    Windows7 Ultimate: Hallo Windows 7 Ultimate lässt sich nicht aktivieren. Microsoft sperrt den Key,. Warum?
  • Windows Sicherheitswarnung .bat

    Windows Sicherheitswarnung .bat: Guten Abend, mich würde interessieren ob es möglich ist eine Batch-Datei zu den Ausnahmen von Windows hinzuzufügen? Da ich ein Programm habe...
  • Ähnliche Themen

    • windows7-Support endet

      windows7-Support endet: Sollte man dann nicht über einen Wechsel zu Linux nachdenken ?
    • Windows7 pro

      Windows7 pro: Nach erforderlich gewordener Neuinstallation von Window7 pro funktioniert die upDate Funktion nicht mehr. Folgende Fehlermeldung 80070000E
    • Fehlermeldung 0xc0000142 nach Windows7 Update (10.01.2019)

      Fehlermeldung 0xc0000142 nach Windows7 Update (10.01.2019): Hallo, ich habe seit meinem Windows7 Update zum 10.01.2019 einen regelmäßigen Fehler, der bei einigen Windowsexen den Fehlercode 0xc0000142...
    • Windows7 Ultimate

      Windows7 Ultimate: Hallo Windows 7 Ultimate lässt sich nicht aktivieren. Microsoft sperrt den Key,. Warum?
    • Windows Sicherheitswarnung .bat

      Windows Sicherheitswarnung .bat: Guten Abend, mich würde interessieren ob es möglich ist eine Batch-Datei zu den Ausnahmen von Windows hinzuzufügen? Da ich ein Programm habe...
    Oben