lkaderavek

VBS in Aufgabenplanung laufen lassen

Ein Skript täglich automatisch unabhängig von der Annmeldung laufen lassen.
Windows Small Business Server 2011 Aufgabenplanung.

Hallo,

ich habe jetzt schon mehrere Threads durch, aber keiner hilft.

Ich habe ein VBS, dass täglich die ältesten Dateien löscht.

Dieses Script soll automatisch laufen.

Der Job ist folgendermaßen konfiguriert.

Aktion: Programm starten
Programm/Skript: C:\Windows\System32\cscript.exe
Argumente hinzufügen (optional): Backup-Cleanup.vbs
Starten in (optional): C:\SKRIPTS\

Wenn ich das Skript manuell starte funktioniert es wunderbar.

Im Task-Planer wird der Status nach Ausführung (Auto und Manuell) als 0x0 zurückgegeben.

Das würde ja bedeuten, dass das Skript ohne Fehler durchgelaufen ist.

Tut es aber nicht...

Was mache ich falsch.

Danke

Ciao

Lukas
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 187673

Url: https://administrator.de/forum/vbs-in-aufgabenplanung-laufen-lassen-187673.html

Ausgedruckt am: 18.07.2025 um 08:07 Uhr

DerWoWusste
DerWoWusste 09.07.2012 um 14:06:22 Uhr
Moin.

Teste bitte, ob Du mit den selben Einstellungen etwas anderes ausführen lassen kannst - nimm Beispielsweise das Kommando cmd /c md c:\test
Karo
Karo 09.07.2012 um 14:08:17 Uhr
Moin,

dazu wäre der Code des VBS u.a. interessant. Wenn dort z.B. Verweise auf CU sind, der SchedTask allerdings im SYSTEM Context läuft, wird das nichts da der CU NTSYSTEM wäre face-wink

Ansonsten im SchedTask den Schalter 'mit höchsten Privilegien ausführen' anhacken.

Gruß

Karo
LKaderavek
LKaderavek 09.07.2012 um 14:12:21 Uhr
Das kann ich aber nicht in einer vbs laufen lassen und batch files funktionieren ja noch weniger mit dem task planer...
LKaderavek
LKaderavek 09.07.2012 um 14:13:22 Uhr
OPTION EXPLICIT
DIM strExtensionsToDelete,strFolder
DIM objFSO, MaxAge, IncludeSubFolders
strFolder = "B:\CENTRAL-2-DISC\"
includeSubfolders = false
strExtensionsToDelete = "bkf"
maxAge = 2

set objFSO = createobject("Scripting.FileSystemObject")

DeleteFiles strFolder,strExtensionsToDelete, maxAge, includeSubFolders

sub DeleteFiles(byval strDirectory,byval strExtensionsToDelete,byval maxAge,includeSubFolders)
DIM objFolder, objSubFolder, objFile
DIM strExt

set objFolder = objFSO.GetFolder(strDirectory)
for each objFile in objFolder.Files
for each strExt in SPLIT(UCASE(strExtensionsToDelete),",")
if RIGHT(UCASE(objFile.Path),LEN(strExt)+1) = "." & strExt then
IF objFile.DateLastModified < (Now - MaxAge) THEN
objFile.Delete
exit for
END IF
end if
next
next
if includeSubFolders = true then ' Recursive delete
for each objSubFolder in objFolder.SubFolders
DeleteFiles objSubFolder.Path,strExtensionsToDelete,maxAge, includeSubFolders
next
end if
end sub


Es gibt keinen Verweis auf Current User oder SYSTEM
DerWoWusste
DerWoWusste 09.07.2012 um 14:33:35 Uhr
Batchfiles funktionieren - werden aber hier nicht benötigt. Teste bitte so wie beschrieben. Wird der Ordner c:\test angelegt?
LKaderavek
LKaderavek 09.07.2012 um 14:35:42 Uhr
Ja den Ordner muss ich aber in irgendeinem Skript anlegen lassen, oder?

Das wird ja nicht klappen, wenn ich den Code einfach so eintippe...
DerWoWusste
DerWoWusste 09.07.2012 um 14:40:06 Uhr
Doch.....................................................!
LKaderavek
LKaderavek 09.07.2012 um 14:49:05 Uhr
AHA...na gut!


Der Ordner Test wurde mit dem Kommando angelegt...
Karo
Karo 09.07.2012 um 14:52:47 Uhr
In welchem Context läuft der Task und hat diese User auch Rechte auf die Struktur auf das das Script zugreift?

Karo
DerWoWusste
DerWoWusste 09.07.2012 um 14:58:28 Uhr
Gut.
Dann ändere den Task indem Du eine Batch als Ziel angibst, in der md c:\test1 steht. Andere Parameter wie bei Deiner .vbs-Sache. Klappt's noch?
LKaderavek
LKaderavek 09.07.2012 um 15:09:01 Uhr
Hallo,

ich arbeite mit dem Domain-Admin und der führt den Task auch aus.

Rechte sind vollständig vorhanden.
LKaderavek
LKaderavek 09.07.2012 um 15:12:41 Uhr
Hallo,

also test.bat in C:\SKRIPTS angelegt und md C:\TEST1 als Code...

Aktion: Programm starten
Programm: C:\SKRIPTS\test.bat
keine Argumente und Starten in ist leer...

Funktioniert auch noch!
AndreasHoster
AndreasHoster 09.07.2012 um 15:13:12 Uhr
Grob geraten:
B: ist ein gemapptes Laufwerk?
Ist natürlich im Scheduled Task nicht gemappt.

Ansonsten, zur weiteren zielführenden Fehlersuche:
Mach einen Batch mit:
C:
cd \Skripts
C:\Windows\System32\cscript.exe Backup-Cleanup.vb >C:\temp\Skriptlog.txt 2>&1
Denn dann im Scheduled Task starten lassen.
Dann sieht man die Ausgabe von Cscript.exe in der Textdatei.
Da könnten ja auch eine Fehlermeldung drinstehen.
DerWoWusste
DerWoWusste 09.07.2012 um 15:15:29 Uhr
OK, teste nun Deine VBS mal mit dem Konto "system", Kennwort leer lassen.
LKaderavek
LKaderavek 09.07.2012 um 15:16:30 Uhr
OK...

C:\SKRIPTS\Backup-Cleanup.vbs(17, 2) Laufzeitfehler in Microsoft VBScript: Der Pfad wurde nicht gefunden.

Muss ich jetzt mit UNC-Pfaden arbeiten???

Das Laufwerk B:\ ist aber im Explorer gemapped...
LKaderavek
LKaderavek 09.07.2012 um 15:19:27 Uhr
Also mit SYSTEM läufts auch ewig... mit 0x41301...

Liegt aber wahrscheinlich auch wieder am Pfad
Karo
Karo 09.07.2012 um 15:23:54 Uhr
Ja, Du musst mit UNC arbeiten, wenn Du nicht lokal arbeitest. Der Context im SchedTask ist NICHT der mit dem Du gerade angemeldet bist!

Karo
LKaderavek
LKaderavek 09.07.2012 um 15:26:00 Uhr
Jop...

Mit UNC im VBS läufts...

ENDLICH! - Der User SYSTEM funktioniert auch...

DANKE

Ihr seids echt die Besten.

Ciao

Lukas
Karo
Karo 09.07.2012 um 15:34:44 Uhr
Prima,

den Frage bitte auf gelöst setzen face-smile

Karo
LKaderavek
LKaderavek 09.07.2012 um 15:37:18 Uhr
Nema Problema!

...::: HVALA PUNO :::...