à

S’applique à : Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

Planifie l’exécution des commandes et des programmes sur un ordinateur à une heure et une date spécifiées. Vous pouvez utiliser at uniquement quand le service Schedule est en cours d’exécution. Utilisé sans paramètres, at liste les commandes planifiées. Vous devez être membre du groupe Administrateurs local pour exécuter cette commande.

Syntaxe

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

Paramètres

Paramètre Description
\<computername\> Spécifie un ordinateur distant. Si vous omettez ce paramètre, at planifie les commandes et les programmes sur l’ordinateur local.
<id> Spécifie le numéro d’identification attribué à une commande planifiée.
/delete Annule une commande planifiée. Si vous omettez ID, toutes les commandes planifiées sur l’ordinateur sont annulées.
/yes Répond oui à toutes les requêtes du système quand vous supprimez des événements planifiés.
<time> Spécifie l’heure à laquelle vous souhaitez exécuter la commande. L’heure est exprimée au format Heures:Minutes en notation de 24 heures (c’est-à-dire entre 00:00 (minuit) et 23:59).
interactive Permet à la commande d’interagir avec le bureau de l’utilisateur connecté au moment de l’exécution de la commande.
every: Exécute la commande tous les jours spécifiés de la semaine ou du mois (par exemple, tous les jeudis ou le troisième jour de chaque mois).
<date> Spécifie la date à laquelle vous souhaitez exécuter la commande. Vous pouvez spécifier un ou plusieurs jours de la semaine (c’est-à-dire, tapez M,T,W,Th,F,S,Su), ou un ou plusieurs jours du mois (c’est-à-dire, entre 1 et 31). Séparez plusieurs entrées de date par des virgules. Si vous omettez la date, at utilise le jour actuel du mois.
next: Exécute la commande à l’occurrence suivante du jour spécifié (par exemple, le jeudi suivant).
<command> Spécifie pour Windows la commande, le programme (c’est-à-dire le fichier .exe ou .com) ou le fichier de commandes (c’est-à-dire le fichier .bat ou .cmd) que vous souhaitez exécuter. Quand la commande nécessite un chemin comme argument, utilisez le chemin absolu (c’est-à-dire le chemin entier commençant par la lettre de lecteur). Si la commande se trouve sur un ordinateur distant, spécifiez la notation UNC (Universal Naming Convention) pour le nom du serveur et du partage, plutôt qu’une lettre de lecteur distant.
/? Affiche l'aide à l'invite de commandes.

Notes

  • Cette commande ne charge pas automatiquement cmd.exe avant d’exécuter les commandes. Si vous n’exécutez pas de fichier exécutable (.exe), vous devez charger explicitement cmd.exe au début de la commande de la façon suivante :

    cmd /c dir > c:\test.out
    
  • Si vous utilisez cette commande sans options de ligne de commande, les tâches planifiées s’affichent dans un tableau dont le format ressemble au suivant :

    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
    
  • Si vous ajoutez un numéro d’identification (ID) avec cette commande, les informations d’une seule entrée s’affichent, dans un format similaire au suivant :

    Task ID: 1
    Status: OK
    Schedule: Each  F
    Time of Day: 4:30 PM
    Command: net send group leads status due
    
  • Après avoir planifié une commande, en particulier une commande qui a des options de ligne de commande, vérifiez que la syntaxe de la commande est correcte en tapant at sans options de ligne de commande. Si les informations de la colonne Ligne de commande sont incorrectes, supprimez la commande et retapez-la. Si elles ne sont toujours pas correctes, retapez la commande en utilisant moins d’options de ligne de commande.

  • Commandes planifiées avec at exécuté comme un processus en arrière-plan. La sortie ne s’affiche pas sur l’écran de l’ordinateur. Pour rediriger la sortie vers un fichier, utilisez le symbole de redirection >. Si vous redirigez la sortie vers un fichier, vous devez utiliser le symbole d’échappement ^ avant le symbole de redirection, que vous utilisiez at sur la ligne de commande ou dans un fichier de commandes. Par exemple, pour rediriger la sortie vers output.txt, tapez :

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

    Le répertoire actuel de la commande en cours d’exécution est le dossier systemroot.

  • Si vous changez l’heure système après avoir planifié l’exécution d’une commande, synchronisez le planificateur at avec l’heure système révisée en tapant at sans options de ligne de commande.

  • Les commandes planifiées sont stockées dans le Registre. Par conséquent, vous ne perdez pas les tâches planifiées si vous redémarrez le service Schedule.

  • N’utilisez pas de lecteur redirigé pour les travaux planifiés qui accèdent au réseau. Le service Schedule peut ne pas pouvoir accéder au lecteur redirigé, ou le lecteur redirigé peut ne pas être présent si un autre utilisateur est connecté au moment de l’exécution de la tâche planifiée. Utilisez plutôt des chemins UNC pour les travaux planifiés. Par exemple :

    at 1:00pm my_backup \\server\share
    

    N’utilisez pas la syntaxe suivante, où x: est une connexion établie par l’utilisateur :

    at 1:00pm my_backup x:
    

    Si vous planifiez une commande at qui utilise une lettre de lecteur pour se connecter à un répertoire partagé, ajoutez une commande at pour déconnecter le lecteur quand vous avez terminé de l’utiliser. Si le lecteur n’est pas déconnecté, la lettre de lecteur attribuée n’est pas disponible sur l’invite de commandes.

  • Par défaut, les tâches planifiées utilisant cette commande s’arrêtent au bout de 72 heures. Vous pouvez modifier le Registre pour changer cette valeur par défaut.

    Pour modifier le Registre

    Attention

    Une modification incorrecte du Registre peut endommager gravement votre système. Avant toute modification du registre, il est conseillé de sauvegarder toutes les données importantes de votre ordinateur.

    1. Démarrez l’Éditeur du Registre (regedit.exe).

    2. Recherchez et cliquez sur la clé suivante dans le Registre : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Schedule

    3. Dans le menu Edition, cliquez sur Ajouter une valeur, puis ajoutez les valeurs de Registre suivantes :

      • Nom de la valeur. atTaskMaxHours

      • Type de données. reg_DWOrd

      • Radix. Decimal

      • Données de la valeur : 0. La valeur 0 dans le champ Données de la valeur indique qu’il n’y a pas de limite et la tâche ne s’arrête pas. Les valeurs entre 1 et 99 indiquent le nombre d’heures.

  • Vous pouvez utiliser le dossier Tâches planifiées pour voir ou modifier les paramètres d’une tâche créée avec cette commande. Quand vous planifiez une tâche avec cette commande, la tâche est listée dans le dossier Tâches planifiées, avec un nom de type : at3478. Toutefois, si vous modifiez une tâche dans le dossier Tâches planifiées, elle est mise à niveau vers une tâche planifiée normale. La tâche n’est plus visible par la commande at et le paramètre de compte at ne s’applique plus à elle. Vous devez entrer explicitement un compte d’utilisateur et un mot de passe pour la tâche.

Exemples

Pour afficher la liste des commandes planifiées sur le serveur Marketing, tapez :

at \\marketing

Pour en savoir plus sur une commande avec le numéro d’identification 3 sur le serveur Corp, tapez :

at \\corp 3

Pour planifier l’exécution d’une commande net share sur le serveur Corp à 8h00 et rediriger la liste vers le serveur Maintenance, dans le répertoire partagé Reports et le fichier Corp.txt, tapez :

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

Pour sauvegarder le disque dur du serveur Marketing sur un lecteur de bande à minuit tous les cinq jours, créez un fichier de commandes appelé Archive.cmd, qui contient les commandes de sauvegarde, puis pour planifier l’exécution du fichier de commandes, tapez :

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

Pour annuler toutes les commandes planifiées sur le serveur actuel, effacez les informations de planification at de la façon suivante :

at /delete

Pour exécuter une commande qui n’est pas un fichier exécutable (.exe), faites précéder la commande de cmd /c pour charger cmd.exe de la façon suivante :

cmd /c dir > c:\test.out