beim

Gilt für: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

Plant die Ausführung von Befehlen und Programmen auf einem Computer zu einem festgelegten Datum und zu einer festgelegten Uhrzeit. Sie at können nur verwenden, wenn der Zeitplandienst ausgeführt wird. Bei Verwendung ohne Parameter listet at geplante Befehle auf. Zum Ausführen dieses Befehls müssen Sie Mitglied der lokalen Administratorengruppe sein.

Syntax

at [\computername] [[id] [/delete] | /delete [/yes]]
at [\computername] <time> [/interactive] [/every:date[,...] | /next:date[,...]] <command>

Parameter

Parameter BESCHREIBUNG
\<computername\> Gibt einen Remotecomputer an. Wenn Sie diesen Parameter weglassen, plant at die Befehle und Programme auf dem lokalen Computer.
<id> Gibt die Identifikationsnummer an, die einem geplanten Befehl zugewiesen ist.
/delete Bricht einen geplanten Befehl ab. Wenn Sie die ID weglassen, werden alle geplanten Befehle auf dem Computer abgebrochen.
/yes Beantwortet alle Abfragen aus dem System mit „yes“, wenn Sie geplante Ereignisse löschen.
<time> Gibt die Uhrzeit an, zu der Sie den Befehl ausführen möchten. Die Uhrzeit wird in 24-Stunden-Notation in der Form „Stunden:Minuten“ ausgedrückt: von 00:00 Uhr (Mitternacht) bis 23:59 Uhr.
Interaktiv Ermöglicht dem Befehl die Interaktion mit dem Desktop des Benutzers/der Benutzerin, der/die zum Zeitpunkt der Ausführung des Befehls angemeldet ist.
every: Führt den Befehl an jedem angegebenen Tag oder jedem Tag der Woche oder des Monats aus (z. B. jeden Donnerstag oder an jedem dritten Tag jeden Monats).
<date> Gibt das Datum an, an dem Sie den Befehl ausführen möchten. Sie können einen oder mehrere Wochentage (durch Eingeben von M,T,W,Th,F,S,Su) oder einen oder mehrere Tage des Monats (durch Eingeben einer Zahl zwischen 1 und 31) angeben. Trennen Sie mehrere Datumseinträge mit Kommas. Wenn Sie das Datum weglassen, verwendet at den aktuellen Tag des Monats.
next: Führt den Befehl am nächsten entsprechenden Wochentag aus (z. B. nächsten Donnerstag).
<command> Gibt den Windows-Befehl, das Programm (also eine .exe- oder .com-Datei) oder das Batchprogramm (also eine .bat- oder .cmd-Datei) an, den/das Sie ausführen möchten. Wenn der Befehl einen Pfad als Argument erfordert, verwenden Sie den absoluten Pfad (also den gesamten Pfad, beginnend mit dem Laufwerkbuchstaben). Wenn der Befehl auf einem Remotecomputer ausgeführt werden soll, geben Sie anstelle eines Laufwerkbuchstabens auf dem Remotecomputer die UNC-Notation (Universal Naming Convention, universelle Benennungskonvention) für den Server und den Freigabenamen an.
/? Zeigt die Hilfe an der Eingabeaufforderung an.

Bemerkungen

  • Dieser Befehl lädt die cmd.exe-Datei vor dem Ausführen von Befehlen nicht automatisch. Wenn Sie keine ausführbare Datei (.exe) ausführen, müssen Sie „cmd.exe“ am Anfang des Befehls explizit wie folgt laden:

    cmd /c dir > c:\test.out
    
  • Wenn Sie diesen Befehl ohne Befehlszeilenoptionen verwenden, werden geplante Aufgaben in einer Tabelle angezeigt, die etwa wie folgt formatiert ist:

    Status  ID   Day        time        Command Line
    OK      1    Each F     4:30 PM     net send group leads status due
    OK      2    Each M     12:00 AM    chkstor > check.file
    OK      3    Each F     11:59 PM    backup2.bat
    
  • Wenn Sie eine Identifikationsnummer (ID) in diesen Befehl einschließen, werden nur Informationen für einen einzelnen Eintrag in einem Format ähnlich dem folgenden angezeigt:

    Task ID: 1
    Status: OK
    Schedule: Each  F
    Time of Day: 4:30 PM
    Command: net send group leads status due
    
  • Nachdem Sie einen Befehl geplant haben – insbesondere einen Befehl mit Befehlszeilenoptionen –, überprüfen Sie, ob die Befehlssyntax korrekt ist, indem Sie at ohne Befehlszeilenoptionen eingeben. Wenn die Informationen in der Spalte Command Line falsch sind, löschen Sie den Befehl, und geben Sie ihn erneut ein. Wenn der Befehl immer noch falsch ist, geben Sie den Befehl mit weniger Befehlszeilenoptionen neu ein.

  • Mit at geplante Befehle werden als Hintergrundprozesse ausgeführt. Die Ausgabe wird nicht auf dem Computerbildschirm angezeigt. Verwenden Sie das Umleitungszeichen >, um die Ausgabe in eine Datei umzuleiten. Wenn Sie die Ausgabe in eine Datei umleiten, müssen Sie das Escapezeichen ^ vor dem Umleitungszeichen verwenden, unabhängig davon, ob Sie at an der Befehlszeile oder in einer Batchdatei verwenden. Um die Ausgabe beispielsweise an output.txt umzuleiten, geben Sie Folgendes ein:

    at 14:45 c:\test.bat ^>c:\output.txt
    

    Das aktuelle Verzeichnis für den ausgeführten Befehl ist der Ordner „systemroot“.

  • Wenn Sie die Systemzeit nach dem Planen der Ausführung eines Befehls ändern, synchronisieren Sie den at-Zeitplaner mit der geänderten Systemzeit, indem Sie at ohne Befehlszeilenoptionen eingeben.

  • Geplante Befehle werden in der Registrierung gespeichert. Daher gehen geplante Aufgaben nicht verloren, wenn Sie den Zeitplandienst neu starten.

  • Verwenden Sie kein umgeleitetes Laufwerk für geplante Aufträge, die auf das Netzwerk zugreifen. Der Zeitplandienst kann möglicherweise nicht auf das umgeleitete Laufwerk zugreifen, oder das umgeleitete Laufwerk ist möglicherweise nicht vorhanden, wenn beim Ausführen der geplanten Aufgabe ein anderer Benutzer oder eine andere Benutzerin angemeldet ist. Verwenden Sie stattdessen UNC-Pfade für geplante Aufträge. Beispiel:

    at 1:00pm my_backup \\server\share
    

    Verwenden Sie nicht die folgende Syntax, wobei x: eine benutzerseitig hergestellte Verbindung ist:

    at 1:00pm my_backup x:
    

    Wenn Sie einen at-Befehl planen, der einen Laufwerkbuchstaben zum Herstellen einer Verbindung mit einem freigegebenen Verzeichnis verwendet, schließen Sie einen at-Befehl ein, um das Laufwerk zu trennen, sobald es nicht mehr verwendet wird. Wenn ein Laufwerk nicht getrennt ist, steht der zugewiesene Laufwerkbuchstaben an der Eingabeaufforderung nicht zur Verfügung.

  • Standardmäßig werden mit diesem Befehl geplante Aufgaben nach 72 Stunden beendet. Sie können die Registrierung bearbeiten, um diesen Standardwert zu ändern.

    Ändern der Registrierung

    Achtung

    Durch eine fehlerhafte Bearbeitung der Registrierung können schwerwiegende Schäden am System verursacht werden. Bevor Sie Änderungen an der Registrierung vornehmen, sollten Sie alle wichtigen Computerdaten sichern.

    1. Starten Sie den Registrierungs-Editor (regedit.exe).

    2. Suchen Sie den folgenden Schlüssel in der Registrierung, und klicken Sie darauf: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Schedule.

    3. Klicken Sie im Menü Bearbeiten auf Wert hinzufügen, und fügen Sie dann die folgenden Registrierungswerte hinzu:

      • Wertname. atTaskMaxHours

      • Datentyp. reg_DWOrd

      • Basis. Decimal

      • Wertdaten: 0. Der Wert 0 im Feld Wertdaten gibt an, dass kein Limit vorhanden ist und die Ausführung nicht beendet wird. Werte zwischen 1 und 99 geben die Anzahl der Stunden an.

  • Sie können den Ordner „Geplante Aufgaben“ verwenden, um die Einstellungen einer Aufgabe anzuzeigen oder zu ändern, die mithilfe dieses Befehls erstellt wurde. Wenn Sie eine Aufgabe mit diesem Befehl planen, wird die Aufgabe im Ordner „Geplante Aufgaben“ mit einem Namen ähnlich diesem aufgeführt: at3478. Wenn Sie eine Aufgabe jedoch über den Ordner „Geplante Aufgaben“ ändern, wird sie zu einer normalen geplanten Aufgabe aktualisiert. Die Aufgabe ist für den Befehl at nicht mehr sichtbar, und die Kontoeinstellung gilt nicht mehr für sie. Sie müssen explizit ein Benutzerkonto und ein Kennwort für die Aufgabe eingeben.

Beispiele

Zum Anzeigen einer Liste von Befehlen, die auf dem Marketingserver geplant sind, geben Sie Folgendes ein:

at \\marketing

Wenn Sie mehr über einen Befehl mit der Identifikationsnummer 3 auf dem Unternehmensserver (Corp) erfahren möchten, geben Sie Folgendes ein:

at \\corp 3

Um einen net share-Befehl für die Ausführung auf dem Unternehmensserver (Corp) um 8:00 Uhr zu planen und das Listing auf den Wartungsserver (Maintenance) umzuleiten, geben Sie im freigegebenen Verzeichnis „Berichte“ und in der Datei „Corp.txt“ Folgendes ein:

at \\corp 08:00 cmd /c net share reports=d:\marketing\reports >> \\maintenance\reports\corp.txt

Um die Festplatte des Marketingservers alle fünf Tage um Mitternacht auf einem Bandlaufwerk zu sichern, erstellen Sie ein Batchprogramm namens „Archive.cmd“, das die Sicherungsbefehle enthält, und planen Sie dann die Ausführung des Batchprogramms. Geben Sie dazu Folgendes ein:

at \\marketing 00:00 /every:5,10,15,20,25,30 archive

Um alle auf dem aktuellen Server geplanten Befehle abzubrechen, deaktivieren Sie die Zeitplaninformationen von at wie folgt:

at /delete

Um einen Befehl auszuführen, der keine ausführbare Datei (.exe) ist, stellen Sie dem Befehl die Zeichenfolge cmd /c voran, um die cmd.exe-Datei wie folgt zu laden:

cmd /c dir > c:\test.out