Automatisch bestand laden.

Status
Niet open voor verdere reacties.

Elite1337

Gebruiker
Lid geworden
2 jun 2008
Berichten
24
Geachte lezer,

Ik heb een batch bestand dat elke ochtend om 8 uur moet draaien onder Windows 2003 server. Onder "geplande taken" heb ik hem al staan maar dat werkt dan niet.

Heeft iemand anders nog een optie?

Alvast bedankt!
 
Laatst bewerkt door een moderator:
Onder welk account run je de taak?
Geplande taken kunnen niet worden uitgevoerd met leeg wachtwoord
 
Vertel ons wat die taak precies is: Is het een .exe bestand? een .bat bestand? een .cmd bestand?

Als het een .bat of .cmd bestand is, kijk dan na of de aanroepen die daarin staan vermeld wel met het volledige bestandspad zijn vermeld.
Zet anders hier even op het forum neer wat er in die .bat of .cmd staat precies, of als het een aanroep is van een .exe: Welke aanroep dat precies is.

Verder: Als je als inlognaam van de taak opgeeft: NT AUTHORITY\SYSTEM
(het wachtwoord leeglaten)
dan draait het met alle rechten die maar mogelijk zijn.

Verder: Start -> Uitvoeren -> Tasks -> menukeuze Geavanceerd -> Logboek weergeven
en dan kun je hopelijk achterhalen wat er precies met je taak mis is gegaan.

We horen wel of je hier wat aan hebt.

Tijs.
 
Wat staat er in de log-file? (Zie een eerdere posting hierover).

Tijs.
 
Afsluitcode 0 betekent dat het script wel 'uitgevoerd' is, maar daarmee is niet gezegd dat de commando's die erin staan op de juiste manier is verwerkt.

Je meldde dat het werkt als je erop dubbelklikt. Is dat op de server van de klant, of op je eigen server/werkstation?

Laat anders hier eens zien welk script het precies is?

Tijs.
 
[...]Maar als ik wil dat hij om 8 uur sochtend draait , hoor ik nog steeds van de klant dat het niet werkt.
[...]

Je schrijft eerder dat je het script succesvol draait op eigen server. Dus bovengenoemde klant is dus een interne klant, en je hebt het dus op dezelfde server getest als waar je het via Taakbeheer laat lopen?

Tijs.
 
Het is op een server van onszelf ik zal de inhoud van het scriptje even hier neerzetten:

set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """C:\Program Files\Putty\putty.exe"" (IP ADRES VAN DE SERVER) -l root -pw ******"
WScript.Sleep 2000
WshShell.AppActivate "xidos - PuTTY"
WshShell.SendKeys "/etc/meurs/host-specific.firewall.pl{ENTER}"
WScript.Sleep 5000
WshShell.SendKeys "logout{ENTER}"

Gevoelsmatig denk ik dat het misloopt op de eerste twee regels, waar m.i. een soort command-prompt wordt geopend.
Kun je dit script niet ombouwen naar een normaal .BAT of .CMD batch-bestand?
Zou je bijv. kunnen doen door het sleep commando te vervangen door:
ping -n 2000 localhost > nul
resp.
ping -n 5000 localhost > nul
en het WshShell.Run commando te vervangen door:
Start 'Putty' "C:\Program Files\Putty\putty.exe" (IP ADRES VAN DE SERVER) -l root -pw ******

Wat het WshShell.AppActivate doet weet ik niet, geen idee of dat om te zetten is in Batch-taal. Hetzelfde geldt voor WshShell.SendKeys.

Tijs.
 
Alternatief zou je ook het volgende kunnen proberen (in dit voorbeeld heet het .vbs script Putty.vbs, en staat in de C:\scripts map):

Maak een .BAT bestand, bijv. Putty.Bat, ook in de C:\scripts map.
Zet erin:
Start /WAIT C:\scripts\Putty.vbs



Plan C:\scripts\Putty.Bat op de dagen/tijdstippen die gewenst zijn.

Misschien werkt het.

Tijs.
 
Laatst bewerkt:
Nog even dit: In het geval je nu aan het testen bent met mijn eerste optie (alles of zoveel mogelijk omzetten naar normale 'batch'-taal):
Als de eenheden voor Sleep níet in seconden wordt gemeten, dan het ping -n [nummer] commando even aanpassen, want die werkt in (ong.) seconden-eenheden
Dus ping -n 2000 localhost > nul
resp.
ping -n 5000 localhost > nul
betekent 2000 seconden pause respectievelijk 5000 seconden pause, en is misschien (veel) langer dan Sleep 2000 en Sleep 5000 in je .vbs bestand.

Dit nog even ter voorkoming van misverstanden. :D

We horen graag welke optie je nu precies gebruikt hebt, mocht het lukken je probleem op te lossen.

Tijs.
 
Je hebt nu die constructie van Start /Wait gebruikt, en het .vbs script geheel verder intact gelaten?

Als dat niet werkt, dan weet ik het ook niet (meer).

Tijs.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan