Batch über Hyperlink starten
Helmut
- html
Guten Tag !
bin heute das erste Mal zum posten hier.
Geholfen habt Ihr mir über vorhandene Artikel schon öfters.
aber zu meiner jetzigen Frage hab ich leider nichts gefunden.
ich möchte eine einfache Batchdatei über einen Hyperlink starten, und schaffe es nicht, die notwendigen Parameter zu übergeben.
hier meine Batchdatei:
@echo off
echo userdn %1
echo passwort %2
dsmod user "%1" -pwd %2 -mustchpwd yes -disabled no
echo Zum beenden:
pause
wenn ich das über cmd mit Parametern aufrufe, klappt das.
aber die Syntax über den Hyperlink bekomme ich nicht zusammen.
es sollte doch mit <a href="file://...? und dann den Variablen irgendwie funktionieren, aber die beiden Variablen werden nicht übergeben (das Script wird schon aufgerufen).
hab jetzt schon alles mögliche hinter dem ? ausprobiert.
hat jemand Rat für mich ?
Danke
Hellihello Helmut,
hier meine Batchdatei:
@echo off
echo userdn %1
echo passwort %2
dsmod user "%1" -pwd %2 -mustchpwd yes -disabled no
echo Zum beenden:
pausewenn ich das über cmd mit Parametern aufrufe, klappt das.
aber die Syntax über den Hyperlink bekomme ich nicht zusammen.es sollte doch mit <a href="file://...? und dann den Variablen irgendwie funktionieren, aber die beiden Variablen werden nicht übergeben (das Script wird schon aufgerufen).
Echt, die Batchdatei wird ausgeführt? Ich hatte das irgendwann mal nur über ein eigenes Protokoll hinbekommen. Versuche doch mal %20 fürs Blankzeichen oder gib dir %0 aus, dass ist dann vielleicht mehr als nur der name der Datei.
Dank und Gruß,
hallo,
hier meine Batchdatei:
@echo off
echo userdn %1
echo passwort %2
dsmod user "%1" -pwd %2 -mustchpwd yes -disabled no
echo Zum beenden:
pause
Was willst du damit erreichen? WEnn ich die einfach nur kopiere und bei mir ausprobiere, erhalte ich folgendes:
userdn
passwort
Der Befehl "dsmod" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Zum beenden:
Drücken Sie eine beliebige Taste . . .
(Na gut, ich kenne halt deine Variablen nicht)
es sollte doch mit <a href="file://...? und dann den Variablen irgendwie funktionieren
Das "sollte" eher eine Abfrage ergeben, ob die Datei heruntergeladen oder geöffnet werden soll.
Du kannst solche Dateien ausführen, wenn du sie über deinen lokalen Server als CGI-Programme abrufst, dann "sollte" das funktionieren.
Grüße aus Berlin
Christoph S.
Hallo Christoph,
Was willst du damit erreichen? WEnn ich die einfach nur kopiere und bei mir ausprobiere, erhalte ich folgendes:
warum sollen das aufgerufene Dienstprogramm "bei dir" vorhanden sein?
Der Befehl "dsmod" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Kein Windows 2003 Server? Also Christoph, das ist doch das mindeste ...
es sollte doch mit <a href="file://...? und dann den Variablen irgendwie funktionieren
Das "sollte" eher eine Abfrage ergeben, ob die Datei heruntergeladen oder geöffnet werden soll.
... und wenn man sie öffnet - und für "Öffnen" wäre immer noch das "Ausführen" von Batchdateien eingetragen, dann wird sie halt ausgeführt. Wo ist das Problem, das Du zu erkennen glaubst?
Freundliche Grüße
Vinzenz
hallo Vinzenz,
Der Befehl "dsmod" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Kein Windows 2003 Server?
Wieso denn das? Warum sollte ich? Auch hat Helmut nichts von Win2003Server geschrieben.
es sollte doch mit <a href="file://...? und dann den Variablen irgendwie funktionieren
Das "sollte" eher eine Abfrage ergeben, ob die Datei heruntergeladen oder geöffnet werden soll.
... und wenn man sie öffnet - und für "Öffnen" wäre immer noch das "Ausführen" von Batchdateien eingetragen, dann wird sie halt ausgeführt. Wo ist das Problem, das Du zu erkennen glaubst?
Es ist lediglich eine Vermutung, da im OP nicht so benannt - ich vermute, er möchte diese Abfrage nicht haben, sondern seine Batchdatei gleich ausführen lassen. Das ist zum Beispiel über einen lokalen Server als CGI-Programm möglich.
Grüße aus Berlin
Christoph S.
Hallo Christoph,
Du gehörst hier sozusagen zum Inventar. Helmut erwähnt, dass es seine erste
Frage ist, die er hier stellt. Möchtest Du eine solche Antwort auf Deine erste
Frage in Forum abc oder Board xyz haben? Ich nicht!
Der Befehl "dsmod" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Kein Windows 2003 Server?Wieso denn das? Warum sollte ich? Auch hat Helmut nichts von Win2003Server geschrieben.
war auch ziemlich überflüssig, da es nicht zur Lösung des Problems beiträgt.
Helmut schreibt, dass die Batchdatei, an der Kommandozeile aufgerufen, wie
gewünscht funktioniert. Es ist daher müßig, sich daran aufzuhalten, dass Du
seine Batchdatei nicht nachvollziehen kannst. Mit etwas Erfahrung ist es kein
Problem, den Befehlsaufruf einem Serverdienstprogramm zuzuordnen?
Es ist lediglich eine Vermutung, da im OP nicht so benannt - ich vermute, er möchte diese Abfrage nicht haben, sondern seine Batchdatei gleich ausführen lassen.
Und zwar mit den übergebenen Parametern, die vermutlich aus den Eingabefeldern
eines Formulars stammen.
Das ist zum Beispiel über einen lokalen Server als CGI-Programm möglich.
Den man dafür nicht bemühen müsste, insbesondere um sich daraus resultierende
Sicherheitsprobleme zu ersparen. Eine HTA oder eine kleine GUI die paar
Zeilen Code in VB-Script, JScript, Perl oder Python, die die Batchdatei samt
notwendigen Parameter aufruft, täte es auch :-)
Freundliche Grüße
Vinzenz
Hallo Helmut,
ich möchte eine einfache Batchdatei über einen Hyperlink starten, und schaffe es nicht, die notwendigen Parameter zu übergeben.
hier meine Batchdatei:
@echo off
echo userdn %1
echo passwort %2
dsmod user "%1" -pwd %2 -mustchpwd yes -disabled no
echo Zum beenden:
pause
ich persönlich würde Dir dazu raten, das über eine HTA zu lösen und die
Batchdatei über JScript oder VB-Script aufzurufen - oder in diesem Zusammenhang
die Änderung im Active Directory direkt mit der gleichen Programmiersprache und
dem Windows-Scripting-Host durchzuführen.
Mir ist nicht bekannt, ob man einer Batchdatei bei "direktem" Aufruf aus HTML
heraus Parameter übergeben kann. Natürlich könntest Du die Aufgabe auch
Deinem IIS übergeben, aber mein Eindruck ist der, dass Du dieses Skript für schnelle
und bequeme Passwortzurücksetzungen direkt vom Server aus nutzen willst, ohne gleich
Benutzerverwaltung aufzurufen und Dich mühsam durchzuklicken.
Folgendes Archivposting (Vorsicht, lang!) zeigt Dir, wie Du mit JScript eine
Kommandozeile öffnen und einen Befehl absetzen kannst (dort FINDSTR, nutze
dafür die Browsersuche). Das solltest Du recht schnell für Deine Zwecke
umbauen können. Wie dort empfohlen: mach das mit einer HTA.
Freundliche Grüße
Vinzenz
Hallo Helmut,
ich möchte eine einfache Batchdatei über einen Hyperlink starten, und schaffe es nicht, die notwendigen Parameter zu übergeben.
hier meine Batchdatei:
@echo off
echo userdn %1
echo passwort %2
dsmod user "%1" -pwd %2 -mustchpwd yes -disabled no
echo Zum beenden:
pauseich persönlich würde Dir dazu raten, das über eine HTA zu lösen und die
Batchdatei über JScript oder VB-Script aufzurufen - oder in diesem Zusammenhang
die Änderung im Active Directory direkt mit der gleichen Programmiersprache und
dem Windows-Scripting-Host durchzuführen.Mir ist nicht bekannt, ob man einer Batchdatei bei "direktem" Aufruf aus HTML
heraus Parameter übergeben kann. Natürlich könntest Du die Aufgabe auch
Deinem IIS übergeben, aber mein Eindruck ist der, dass Du dieses Skript für schnelle
und bequeme Passwortzurücksetzungen direkt vom Server aus nutzen willst, ohne gleich
Benutzerverwaltung aufzurufen und Dich mühsam durchzuklicken.Folgendes Archivposting (Vorsicht, lang!) zeigt Dir, wie Du mit JScript eine
Kommandozeile öffnen und einen Befehl absetzen kannst (dort FINDSTR, nutze
dafür die Browsersuche). Das solltest Du recht schnell für Deine Zwecke
umbauen können. Wie dort empfohlen: mach das mit einer HTA.Freundliche Grüße
Vinzenz
Hallo !
erstmal Danke für Eure Antworten.
Aber irgendwie hab ich den Dreh noch nicht raus.
Ich kann also per Hyperlink keine Parameter an eine Batchdatei übergeben.
Jetzt hab ich versucht, die Parameter an ein VB-Script zu übergeben - aber das funktioniert auch nicht. Das Script wird gestartet, aber die Parameter werden nicht übergeben. Syntax hab ich gleich gelassen mit ...script.vbs? und dann den Parametern.
Oder hab ich was noch gar nicht verstanden?
oder ist es generell so, dass ich mit ?... nur Parameter an html-Seiten übergeben kann ?
Gruß Helmut
Moin Moin!
Hallo !
erstmal Danke für Eure Antworten.
Aber irgendwie hab ich den Dreh noch nicht raus.
Ich kann also per Hyperlink keine Parameter an eine Batchdatei übergeben.
Jetzt hab ich versucht, die Parameter an ein VB-Script zu übergeben - aber das funktioniert auch nicht. Das Script wird gestartet, aber die Parameter werden nicht übergeben. Syntax hab ich gleich gelassen mit ...script.vbs? und dann den Parametern.
Der Aufrufmechanismus bleibt der selbe, auch wenn Du etwas anderes aufrufst.
Oder hab ich was noch gar nicht verstanden?
So ist es. Du sollst den Browser vergessen und stattdessen per HTA (HTML + Javascript) arbeiten, dort kannst Du mit speziellen, nur im HTA-Modus verfügbaren Javascript-Objekten, externe Programme aufrufen. (HTA ist übrigens der Internet Explorer, ohne alle IE-typischen Bedienelemente und mit den erwähnten zusätzlichen Objekten.)
oder ist es generell so, dass ich mit ?... nur Parameter an html-Seiten übergeben kann ?
? funktioniert uneingeschränkt nur für http:// und https://, sehr eingeschränkt auch für ftp:// und mailto://. In file:// sollte ? überhaupt keine Wirkung haben.
Jetzt mal die große Frage: Warum machst Du Dir das leben so extrem schwer, eine Batch-Datei aus dem Browser aufrufen zu wollen? Leg doch einfach eine Verknüpfung auf die Batch-Datei an, da kannst Du auch Parameter mitgeben.
Alexander