LLZwerg 10 Geschrieben 29. März 2007 Melden Teilen Geschrieben 29. März 2007 Hallöchen, ich hab jetzt schon bei Google und hier eine Weile ohne Ergebnis gesucht. Mein Problem ist, daß ich ein VB-Script, das mit Parametern arbeitet, als geplanten Task ausführen möchte. Das Script läuft problemlos, wenn ich es manuell aufrufe, aber als Task wird es zwar gestartet, aber nicht abgearbeitet (manuell wird ntbackup gestartet, als Task bleibt ewig wscript hängen). Den Task habe ich sowohl manuell als auch im Task-Planer mit dem User Administrator ausgeführt. Wenn ich im Script das Auslesen der Parameter auskommentiere funktioniert das Script auch im Taskplaner, wenn ich es drinlasse bleibt der Task einfach hängen und arbeitet scheinbar nach der Zuweisung der Parameter zu den entsprechenden Variablen nicht mehr weiter. Hier mal das Script: Option Explicit dim prog, sicherung, nummer, verzeichnis, conf_datei, save_name, args, FSO, write_args Set prog = CreateObject("WScript.Shell") Set args = WScript.Arguments nummer = args(0) verzeichnis = args(1) conf_datei = args(2) save_name = args(3) 'Netzlaufwerk verbinden, um Zugang zum Backup zu gewährleisten prog.run "net use z: \\server\backup geheim /user:user /persistent:no",0 WScript.Sleep 3000 prog.run "C:\WINNT\system32\ntbackup.exe backup ""@C:\Scripts\" & conf_datei & ".bks"" /n """ _ & save_name & """ /d """ & save_name & """ /v:no /r:no /rs:no /hc:off /m normal /j """ & save_name & _ """ /l:s /f ""\\server\backup\" & nummer & "\" & verzeichnis & "\" & save_name & ".bkf""" Der Aufruf bei diesem komischen Smiley im Quote steht für "hc: off" (ohne Leerzeichen). Um sicherzugehen, daß es nicht an dem Aufruf von NTBackup oder dem Netzlaufwerk liegt, habe ich auch das schonmal komplett auskommentiert (also alles hinter der Parameterzuweisung) und stattdessen einen Part eingesetzt, der die Parameter in eine lokale Datei schreiben würde (was auch wieder manuell funktioniert aber nicht als Task). Set FSO = CreateObject("Scripting.FileSystemObject") Set write_args = FSO.OpenTextFile("c:\test.txt", 8, False) write_args.WriteLine nummer & verzeichnis & conf_datei & save_name write_args.Close Der Aufruf des Scripts ist sowohl als Task als auch manuell folgender: script.vbs 5 ts02 woche-1 test Ich habe auch schon einiges probiert, allerdings bisher ohne Erfolg. Nur wenn ich die Zuweisungen für nummer, verzeichnis, conf_datei und save_name auskommentiere läuft das Script auch als Task. Allerdings kann man z.B. Notepad mit dem Aufruf notepad.exe c:\test.txt als Task ausführen, es scheint also ein Problem beim Script zu sein, wenn Argumente im Script verarbeitet werden sollen. Hat hier jemand evtl. eine Idee, woran das liegen könnte? Mir fällt da langsam nichts mehr ein. Ich würde gerne nur ein Script für die ganzen Sicherungen nutzen, das ich mit Parametern entsprechend steuern kann und nicht für jede Sicherung ein neues Script hinsetzen (Scripts ohne Parameter funktionieren auch als Task), weil ich das etwas unschön finde. Danke und Gruß, Timo Zitieren Link zu diesem Kommentar
gysinma1 13 Geschrieben 29. März 2007 Melden Teilen Geschrieben 29. März 2007 Hallo Versuche mal den scheduled Task anstatt mit dem lokalen Administrator mit einem Globalen Administrator (zum Testen mal z.Bsp. einem Domain Admin) aus. Ich könnte mir vorstellen, dass der script an den credentials unter den Rechnern hängt. Gruss, MAtthias Zitieren Link zu diesem Kommentar
LLZwerg 10 Geschrieben 4. April 2007 Autor Melden Teilen Geschrieben 4. April 2007 Hallöchen, bin leider heute erst dazu gekommen wieder etwas daran zu testen. Mit einem Domain Admin geht es auch nicht. Auch hier bleibt das Script hängen, wenn ich die Parameter-Zuweisungen im Script aktiv habe. Hat sonst noch jemand eine Idee, warum es bei der manuellen Ausführung ohne Probleme läuft, aber nicht als Task? Danke und Gruß, Timo Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 4. April 2007 Melden Teilen Geschrieben 4. April 2007 Ne Idee, warum das so ist, hab ich grad nicht, aber noch was, was du testen könntest: Bau ne Batch, aus der heraus du das Script aufrufst und häng die Batch statt dem Script in den Taskplaner. Zitieren Link zu diesem Kommentar
LLZwerg 10 Geschrieben 5. April 2007 Autor Melden Teilen Geschrieben 5. April 2007 Hm, das ist ne Idee. Hätte ich gleich mal testen sollen. :) Läuft zwar auch damit nicht, aber geht nen Schritt weiter. Zumindest bleibt es da nicht beim Zuweisen der Parameter hängen. Das Schreiben der Parameter funktioniert damit im Gegensatz zum direkten Aufruf. Leider startet aber ntbackup dann noch nicht. Da muß ich wohl nochmal etwas weiter suchen. Wäre zwar nicht so schön, wie ich es gerne hätte, aber besser als ein eigenes Script für jede Sicherung. :) Danke und Gruß, Timo Zitieren Link zu diesem Kommentar
Shemeneto 11 Geschrieben 13. April 2007 Melden Teilen Geschrieben 13. April 2007 habe das allergleiche Problem! Option Explicit dim IP IP = 1 For IP = 1 To 254 Set objShell = WScript.CreateObject("WScript.Shell") objShell.Run("cmd /c shutdown -s -m \\10.254.10." & IP) WScript.Echo IP Next Starte ich das Script über die Kommandozeile funktioniert es problemlos und alle Arbeitsstationen werden heruntergefahren. Wenn ich es allerdings direkt anklicke oder über Batchdatei starte, wird zwar "WScript.Echo IP" ausgeführt, der shutdown-Befehl aber nicht!? Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 13. April 2007 Melden Teilen Geschrieben 13. April 2007 ich habe momentan kein AD vor mir. Es gibt aber ein oder zwei entscheidende GPOs unter security (allow logon as a batch job oder so aehnlich). Schau dort mal nach Weiter gibts im service "task scheduler" einen Haken "allow to interact with desktop" . Setz den mal. Und dann gibts von MS noch einen Hotfix, den man aber nur bei einem Supportcall bekommt. cu blub Zitieren Link zu diesem Kommentar
Shemeneto 11 Geschrieben 16. April 2007 Melden Teilen Geschrieben 16. April 2007 danke für die Tipps, hat aber nicht geholfen. Weist du noch ungefähr wo bzw. wie ich den Hotfix finden kann. edit: habe die VBS-Datei einfach mal komplett neu erstellt. Und siehe da, jetzt funktioniert alles so wie es soll. Ist das normal bei VBS? Die alte Datei hat zum Schluss total gesponnen. Hat, wenn ich den shutdown-Befehl (siehe oben) benutzt habe eine Endlosschleife erzeut. Bei anderen Kommandos nicht. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.