Jump to content
Sign in to follow this  
LLZwerg

2K - VB-Script mit Paramtern als geplanter Task

Recommended Posts

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

Share this post


Link to post

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

Share this post


Link to post

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

Share this post


Link to post

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.

Share this post


Link to post

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

Share this post


Link to post

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!?

Share this post


Link to post

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

Share this post


Link to post

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.

Share this post


Link to post
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...