Wenn Sie eine .BAT-Datei haben und versuchen, sie mithilfe des Taskplaners in Windows automatisch ausführen zu lassen, haben Sie möglicherweise auf das Problem gestoßen, dass sie einfach nicht ausgeführt wird, wenn Sie die Aufgabe nicht manuell ausführen.
Ich habe eine Batch-Datei erstellt, die bei jedem Start des Computers alles in einem temporären Ordner löscht. Ich habe im Taskplaner eine grundlegende Aufgabe erstellt und auf das Beste gehofft. Leider ist nichts passiert, als mein Computer hochgefahren ist. Nach vielen Versuchen habe ich herausgefunden, wie das Skript ausgeführt werden kann.
In diesem Artikel werde ich Sie durch die Einstellungen und Berechtigungen führen, die Sie anpassen müssen, um zu erhalten Ihre Stapeldatei wird ohne manuellen Eingriff ausgeführt.
Schritt 1: Überprüfen der Datei- / Ordnerberechtigungen
Der erste Schritt zur Behebung dieses Problems besteht darin, sicherzustellen, dass das Konto zum Ausführen des Skripts verwendet wird Im Taskplaner hat Vollzugriff Berechtigungen für den Ordner, der das Skript, das Skript selbst und alle Ordner / Dateien enthält, die das Skript bei der Ausführung berührt.
Ich habe beispielsweise das folgende Batch-Skript erstellt:
set folder="C:\test"cd /d %folder% for /F "delims=" %%i in ('dir /b') do (rmdir "%%i" /s/q || del "%%i" /s/q)
Ich habe die .BAT-Datei in meinem Dokumentenordner gespeichert. Der Pfad lautet C: \ Benutzer \ Benutzername \ Dokumente. Ich ging zu C: \ Users \ Benutzername, klickte mit der rechten Maustaste auf den Ordner Dokumenteund klickte auf Eigenschaften. Dann habe ich auf die Registerkarte Sicherheitgeklickt.
Wie Sie sehen, ist das Benutzerkonto Aseem wurde explizit hinzugefügt und mit der Berechtigung Vollzugriffversehen. Jetzt müssen Sie das Gleiche für den Ordner tun, der das Skript und das Skript selbst enthält. Gehen Sie nicht einfach davon aus, dass Sie, wenn Sie dem Ordner mit dem Skript Berechtigungen erteilen, gut beraten sind, weil Sie es nicht sind. Schließlich legen Sie Berechtigungen für alle Dateien und Ordner fest, mit denen das Skript interagieren soll.
In meinem Fall musste ich zu C: \ testgehen und mit der rechten Maustaste auf diesen Ordner klicken und füge mein Benutzerkonto dort mit Vollzugriffsberechtigungen hinzu. Es ist etwas ärgerlich, dass Sie dies tun müssen, aber es ist die einzige Möglichkeit, das Skript zum Laufen zu bringen.
Hinweis: Das Konto, das zur Ausführung verwendet wird Das Skript muss Teil der lokalen Gruppe Administratorenauf dem Computer sein. In meinem Fall ist das Aseem-Konto ein Administratorkonto und daher Teil der lokalen Administratorgruppe.
Schritt 2: Überprüfen Sie die Taskplaner-Einstellungen
Gehen wir nun zum Taskplaner und ändern dort die entsprechenden Einstellungen. Öffnen Sie den Aufgabenplaner, und suchen Sie Ihre Aufgabe im Abschnitt Aktive Aufgaben. Sie sollten in alphabetischer Reihenfolge aufgeführt werden.
Doppelklicken Sie darauf und es wird die Aufgabe selbst im selben Fenster geöffnet. Um die Aufgabe zu bearbeiten, müssen Sie mit der rechten Maustaste darauf klicken und Eigenschaftenwählen.
Es gibt mehrere Tabs und ein paar Dinge müssen hier überprüft und geändert werden. Zunächst müssen Sie auf der Registerkarte Allgemeindas Benutzerkonto überprüfen, das zum Ausführen der Aufgabe verwendet wird. In meinem Fall handelt es sich um das Konto Aseem, dem ich zuvor Berechtigungen für das Dateisystem erteilt hatte und das zur Gruppe Administratoren auf dem Computer gehört.
Als Nächstes müssen Sie die Option Ausführen, ob Benutzer angemeldet ist oder nichtauswählen und Windows Vista, Windows auswählen Server 2008im Feld Konfigurieren für.
Auf den AktionenRegisterkarte, wählen Sie das Skript aus, klicken Sie auf Bearbeitenund fügen Sie den Pfad zum Ordner mit dem Skript im Feld e Start in (optional)hinzu. Das mag unnötig erscheinen, ist es aber nicht. In meinem Fall habe ich C: \ Users \ Aseem \ Documents \in das Feld eingefügt.
Klicken Sie nun auf OK, um die Einstellungen zu speichern. Wenn Sie dies tun, wird möglicherweise ein Dialogfeld angezeigt, in dem Sie das Kennwort für das Benutzerkonto eingeben müssen, mit dem die Aufgabe ausgeführt wird. Dies bringt eine weitere Anforderung mit sich. Sie können kein Konto ohne Passwort verwenden. Der Benutzeraccount muss ein Passwort haben, damit der Task ausgeführt werden kann.
Zuletzt sollten Sie den Task im Taskplaner einmal manuell ausführen um sicherzustellen, dass es läuft. Wenn es manuell ausgeführt wird, nachdem Sie alle Einstellungen geändert haben, sollte es ausgeführt werden, wenn es ausgelöst werden soll. In meinem Fall sollte es beim Start passieren und nachdem ich die Änderungen vorgenommen habe, hat alles funktioniert.
Beachten Sie, dass wenn Ihr Skript ist Wenn Sie während der Ausführung auf verschiedene Computer in einer Domäne zugreifen, sollten Sie versuchen, das Domänenadministratorkonto zum Ausführen der Aufgabe zu verwenden. Dadurch wird sichergestellt, dass das Konto über ausreichende Berechtigungen für den Zugriff auf die Remotecomputer verfügt.
Ein weiterer Punkt ist, ob Ihr Skript auf Ressourcen in einer Netzwerkfreigabe zugreift. Wenn Ihr Skript Buchstaben verwendet, um auf das Netzwerk zuzugreifen, wird es möglicherweise nicht ausgeführt. Anstatt beispielsweise F: \ data \zu verwenden, sollten Sie \\ Computername \ Freigabename \ data \im Skript verwenden. Wenn Sie Ihr Skript immer noch nicht ausführen können, geben Sie hier einen Kommentar ein und ich werde versuchen, Ihnen zu helfen. Viel Spaß!