MSChamp 10 Geschrieben 19. Januar 2011 Melden Geschrieben 19. Januar 2011 Hallo zusammen, ich habe mal wieder ein Problem. Ich möchte via Aufgabenplanung ein vbs automatisch ausführen lassen. Es steht bei Status "wird ausgeführt", aber er macht nichts. Allerdings wenn man die vbs manuell ausführt, indem man diese anklickt, funktioniert es wunderbar. Warum geht es nicht automatisch? Habe auch schon eine bat Datei erstellt die wiederrum die vbs aufruft. Geht aber ebenfalls nicht automatisch. Für Hilfe wäre ich sehr dankbar. Viele Grüße
carlito 10 Geschrieben 19. Januar 2011 Melden Geschrieben 19. Januar 2011 Poste mal das Skript, die Batchdatei und die exakte Fehlermeldung.
MSChamp 10 Geschrieben 20. Januar 2011 Autor Melden Geschrieben 20. Januar 2011 Es gibt keine Fehlermeldung. Außerdem wird es wenig bringen, wenn ich ein Skript poste welches durch manuelles Starten funktioniert. Ich gehe recht in der Annahme, dass es bei Windows Server 2008 R2 Enterprise nicht mehr möglich ist ein VB Skript ohne eine zusätzliche .bat Datei über die Aufgabenplanung direkt zu starten, oder? Den Inhalt der bat: "C:\Windows\SysWOW64\wscript.exe" "D:\VB_Script\ExchangeSicherung_kopieren.vbs" Dieser ist in der Aufgabenplanung unter der demensprechend erstellten Aufgabe als Aktion vorhanden. Somit wird die Aufgabe auch laut der Anzeige in der Aufgabenplanung ausgeführt, jedoch passiert nichts. Es wird die Datei nicht nach bearbeitet und verschoben. Der Task läuft einfach nur, ohne dass er auf den Inhalt des VB Skripts eingeht. Viele Grüße
Sunny61 833 Geschrieben 20. Januar 2011 Melden Geschrieben 20. Januar 2011 Mit welchen Benutzerrechten ist der Task ausgestattet? Hast Du [X] mit höchsten Privilegien ausführen angeklickt?
MSChamp 10 Geschrieben 20. Januar 2011 Autor Melden Geschrieben 20. Januar 2011 Jep hab ich gemacht. Habe ich auch schon gelesen, dass dies neuerdings zwingend für die erfolgreiche Durchführung erforderlich ist.
carlito 10 Geschrieben 20. Januar 2011 Melden Geschrieben 20. Januar 2011 Es gibt keine Fehlermeldung. Außerdem wird es wenig bringen, wenn ich ein Skript poste welches durch manuelles Starten funktioniert. Es gab hier schon oft den Fall, das selbsterstellte Skripte Zeile-für-Zeile ausgeführt funktioniert haben, beim Aufruf aus anderen Zusammenhängen jedoch nicht. Wenn du das Skript nicht posten willst kann dein Hilfebedarf nicht so groß sein. Daher ist für mich hier EOD.
MSChamp 10 Geschrieben 20. Januar 2011 Autor Melden Geschrieben 20. Januar 2011 Na dann poste ich es halt. Dim LeftString, Datei_Last, Tag, Monat, Jahr, tmpSet objFSO = CreateObject("Scripting.FileSystemObject") Set Verzeichnis = objFSO.GetFolder("D:\Exchange\") For Each Datei In Verzeichnis.Files objFSO.DeleteFile Datei Next Function myDateStr myDay = Day(Date) If myDay < 10 Then myDay = "0" & myDay End If myMonth = Month(Date) If myMonth < 10 Then myMonth = "0" & myMonth End If myYear = Year(Date) myDateStr = "" & myDay & myMonth & myYear End Function objFSO.CopyFile "T:\BackupCSys.bkf", "D:\Exchange\" objFSO.MoveFile "D:\Exchange\BackupCSys.bkf", "D:\Exchange\Exchange.bkf" For Each Datei In Verzeichnis.Files LeftString = Left(Datei,20) Datei_Last = Datei.DateLastModified Tag = Left(Datei_Last,2) Monat = Mid(Datei_Last,4,2) Jahr = Mid(Datei_Last,7,4) ' Wscript.echo LeftString objFSO.MoveFile Datei, LeftString &"_" & Tag & Monat & Jahr &".bkf" Next For Each Datei In Verzeichnis.Files LeftString = Left(Datei,20) Datei_Last = Datei.DateLastModified Tag = Left(Datei_Last,2) Monat = Mid(Datei_Last,4,2) Jahr = Mid(Datei_Last,7,4) tmp= LeftString &"_" & Tag & Monat & Jahr &".bkf" ' Wscript.echo tmp Next For Each Datei In Verzeichnis.Files LeftString = Left(Datei,20) Datei_Last = Datei.DateLastModified Tag = Left(Datei_Last,2) Monat = Mid(Datei_Last,4,2) Jahr = Mid(Datei_Last,7,4) tmp= LeftString &"_" & Tag & Monat & Jahr &".bkf" Datei_Today= LeftString &"_" &myDateStr &".bkf" ' Wscript.echo tmp If Monat = 01 Then myMonat = "Januar" end If If Monat = 02 Then myMonat = "Februar" end If If Monat = 03 Then myMonat = "März" end If If Monat = 04 Then myMonat = "April" end If If Monat = 05 Then myMonat = "Mai" end If If Monat = 06 Then myMonat = "Juni" end If If Monat = 07 Then myMonat = "Juli" end If If Monat = 08 Then myMonat = "August" end If If Monat = 09 Then myMonat = "September" end If If Monat = 10 Then myMonat = "Oktober" end If If Monat = 11 Then myMonat = "November" end If If Monat = 12 Then myMonat = "Dezember" end If Next objFSO.CopyFile "D:\Exchange\*.bkf", "D:\Sicherungen\Exchange\" & Jahr & "\" & myMonat & "\" & Tag & "\" objFSO.DeleteFile "D:\Exchange\*.bkf" Dann mal viel Spaß
MSChamp 10 Geschrieben 20. Januar 2011 Autor Melden Geschrieben 20. Januar 2011 T:\ ist ein Netzlaufwerk das eingebunden ist. Wie gesagt, wenn ich die zugehörige .bat (hab ich auch schon gepostet) starte, funktioniert es. Nur aus der Aufgabenplanung von Microsoft mag es nicht:(.
MSChamp 10 Geschrieben 20. Januar 2011 Autor Melden Geschrieben 20. Januar 2011 Mit welchen Benutzerrechten ist der Task ausgestattet? Hast Du [X] mit höchsten Privilegien ausführen angeklickt? Hier noch ein Screenshot, der die Einstellungen meines Tasks noch mal verdeutlicht.
Dukel 468 Geschrieben 20. Januar 2011 Melden Geschrieben 20. Januar 2011 Und wer bindet das Laufwerk in der Aufgabenplanung ein? Benutze UNC Pfade und poste nächstes mal so ein Script gleich, da sich der "Fehler" dort befindet.
MSChamp 10 Geschrieben 20. Januar 2011 Autor Melden Geschrieben 20. Januar 2011 Und wer bindet das Laufwerk in der Aufgabenplanung ein? Benutze UNC Pfade und poste nächstes mal so ein Script gleich, da sich der "Fehler" dort befindet. Ich verstehe nicht genau was du meinst. Das Netzlaufwerk mit dem Buchstaben T:\ ist lokal eingebunden. Es hat auch bis dato reibungslos funktioniert. Nur seit der Umstellung auf Windows Server 2008 R2 Enterprise x64 funktioniert es dank der Aufgabenplanung nicht mehr:(.
MSChamp 10 Geschrieben 20. Januar 2011 Autor Melden Geschrieben 20. Januar 2011 In der Aufgabenplanung kommt nur die .bat als Programm vor, die wiederrum (s. Code der .bat) die vbs Datei ausführen soll. Soweit klar?
Sunny61 833 Geschrieben 20. Januar 2011 Melden Geschrieben 20. Januar 2011 Ich verstehe nicht genau was du meinst. Das Netzlaufwerk mit dem Buchstaben T:\ ist lokal eingebunden. Es hat auch bis dato reibungslos funktioniert. Nur seit der Umstellung auf Windows Server 2008 R2 Enterprise x64 funktioniert es dank der Aufgabenplanung nicht mehr:(. Das LW T: ist aber nur vorhanden wenn der Admin angemeldet ist. Ein NW-LW ist ja nur Benutzerbezogen vorhanden. Arbeite so viel wie möglich mit UNC Pfaden. Bei lokalen Pfaden sollte man IMHO die vorhandenen Sytemvariablen nutzen.
NilsK 3.046 Geschrieben 20. Januar 2011 Melden Geschrieben 20. Januar 2011 Moin, sehr wahrscheinlich steht das Laufwerk T: eben im Kontext des Tasks nicht zur Verfügung. Ein typischer Fehler, daher hat Dukel schlicht Recht mit seinen Hinweisen. Entweder arbeitest du mit UNC-Pfaden, oder du prüfst das Vorhandensein von T: im Skript und mappst es bei Bedarf. Dann noch eine Fehlerprotokollierung ins Skript, und du siehst klarer. Im Übrigen hat die Aufgabenplanung auch ein Fehlerprotokoll, zu dessen Inhalt du hier noch nichts gesagt hast. Und zu deinem Batch: Warum genau rufst du ein Skript per Batch mit wscript.exe auf?! Das ist die grafische Ausführung und als solche hier völlig ungeeignet. Oder wer soll im Zweifel die Dialoge wegklicken? Richtig wäre "cscript.exe". Gruß, Nils
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden