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 Software Forum; 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...
T

TormDM

Threadstarter
Mitglied 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ß
 
Hups

Hups

Katzennarr
Team
Mitglied seit
01.07.2007
Beiträge
18.387
Standort
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.
 
automatthias

automatthias

vernunftgeplagt
Mitglied seit
21.04.2006
Beiträge
8.053
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.
 
T

TormDM

Threadstarter
Mitglied 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 :)
 
T

TormDM

Threadstarter
Mitglied 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.
 
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!
 
HaraldL

HaraldL

Mitglied seit
26.07.2006
Beiträge
5.804
Standort
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.
 
G

GaxOely

Gast
Du hast recht.
Mein Account ist zwar da, aber er leitet nicht mehr.
 
automatthias

automatthias

vernunftgeplagt
Mitglied seit
21.04.2006
Beiträge
8.053
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.
 
K

karmu

Mitglied seit
14.07.2011
Beiträge
959
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.
 
T

TormDM

Threadstarter
Mitglied 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?
 
automatthias

automatthias

vernunftgeplagt
Mitglied seit
21.04.2006
Beiträge
8.053
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)
 
T

TormDM

Threadstarter
Mitglied 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?
 
automatthias

automatthias

vernunftgeplagt
Mitglied seit
21.04.2006
Beiträge
8.053
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.
 
T

TormDM

Threadstarter
Mitglied 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
 
automatthias

automatthias

vernunftgeplagt
Mitglied seit
21.04.2006
Beiträge
8.053
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
 
T

TormDM

Threadstarter
Mitglied 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.
 
automatthias

automatthias

vernunftgeplagt
Mitglied seit
21.04.2006
Beiträge
8.053
Nimm statt H:\My.....
mal /cygdrive/h/My....
 
T

TormDM

Threadstarter
Mitglied 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 zeitdiest

    windows7 zeitdiest: hallo wer kann mir helfen? nach jedem ausschalten des pc wird die pc-zeit auf zb. 1.7.2007 gestellt und bei nächster inbetriebsetzung muss die...
  • Windows7: Windows Search (Indizierungen) funktioniert nicht mehr zuverlässig

    Windows7: Windows Search (Indizierungen) funktioniert nicht mehr zuverlässig: Windows7: Windows Search funktioniert nicht mehr zuverlässig. Dateien mit enthaltenem Suchstring werden nicht alle aufgeführt. Was muss ich...
  • Bluetooth funktioniert nicht mehr auf windows7. keine geräteadresse mehr vorhanden. weiss jemand rat?. danke im vorraus

    Bluetooth funktioniert nicht mehr auf windows7. keine geräteadresse mehr vorhanden. weiss jemand rat?. danke im vorraus: hallo zusammen, keine geräteadresse mehr vorhanden. bekomme nichts mehr aktiviert von bluetooth. weiss jemand rat?. danke im vorraus...
  • windows7-Support endet

    windows7-Support endet: Sollte man dann nicht über einen Wechsel zu Linux nachdenken ?
  • 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

    Oben