alle

Si applica a: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

Pianifica i comandi e i programmi da eseguire in un computer in corrispondenza di un'ora e una data specificate. È possibile usare at solo quando il servizio Pianificazione è in esecuzione. Usato senza parametri, at elenca i comandi pianificati. Per eseguire questo comando, è necessario essere membro del gruppo amministratori locale.

Sintassi

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

Parametri

Parametro Descrizione
\<computername\> Specifica un computer remoto. Se si omette questo parametro, at pianifica i comandi e i programmi nel computer locale.
<id> Specifica il numero di identificazione assegnato a un comando pianificato.
/delete Annulla un comando pianificato. Se si omette ID, tutti i comandi pianificati nel computer vengono annullati.
/yes Risponde sì a tutte le query dal sistema quando si eliminano gli eventi pianificati.
<time> Specifica l'ora in cui si vuole eseguire il comando. il tempo viene espresso come Ore:Minuti nella notazione di 24 ore (ovvero, da 00:00 (mezzanotte) alle 23:59.
interattivo Consente al comando di interagire con il desktop dell'utente connesso al momento dell'esecuzione del Comando.
every: Esegue il comando ogni giorno o giorni specificati della settimana o del mese , ad esempio ogni giovedì o il terzo giorno di ogni mese.
<date> Specifica la data in cui si vuole eseguire il comando. È possibile specificare uno o più giorni della settimana( ovvero, digitare M,T,W,Th,F,S,Su) o uno o più giorni del mese (ovvero digitare da 1 a 31). Separare più date con delle virgole. Se si omette date, at usa il giorno corrente del mese.
next: Esegue il comando alla successiva occorrenza del giorno , ad esempio giovedì successivo.
<command> Specifica il comando di Windows, il programma (ovvero .exe o .com file) o il programma batch (ovvero .bat o .cmd file) da eseguire. Quando il comando richiede un percorso come argomento, usare il percorso assoluto, ovvero l'intero percorso che inizia con la lettera di unità. Se il comando si trova in un computer remoto, specificare la notazione UNC (Universal Naming Convention) per il server e il nome della condivisione, anziché una lettera di unità remota.
/? Visualizza la guida al prompt dei comandi.

Osservazioni:

  • Questo comando non carica automaticamente cmd.exe prima di eseguire i comandi. Se non si esegue un file eseguibile (.exe), è necessario caricare in modo esplicito cmd.exe all'inizio del comando come indicato di seguito:

    cmd /c dir > c:\test.out
    
  • Se si usa questo comando senza opzioni della riga di comando, le attività pianificate vengono visualizzate in una tabella formattata in modo simile al seguente:

    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
    
  • Se si include un numero di identificazione (ID) con questo comando, vengono visualizzate solo le informazioni per una singola voce in un formato simile al seguente:

    Task ID: 1
    Status: OK
    Schedule: Each  F
    Time of Day: 4:30 PM
    Command: net send group leads status due
    
  • Dopo aver pianificato un comando, in particolare un comando con opzioni della riga di comando, verificare che la sintassi del comando sia corretta digitando at senza opzioni della riga di comando. Se le informazioni nella colonna Riga di comando sono errate, eliminare il comando e digitarlo di nuovo. Se non è ancora corretto, digitare di nuovo il comando usando un minor numero di opzioni della riga di comando.

  • Comandi pianificati con at esecuzione come processi in background. L'output non viene visualizzato sulla schermata del computer. Per reindirizzare l'output a un file, usare il simbolo di reindirizzamento >. Se si reindirizza l'output a un file, è necessario usare il simbolo ^ di escape prima del simbolo di reindirizzamento, indipendentemente dal fatto che si usi at nella riga di comando o in un file batch. Ad esempio, per reindirizzare l'output a output.txt, digitare:

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

    La directory corrente per il comando in esecuzione è la cartella systemroot.

  • Se si modifica l'ora di sistema dopo aver pianificato l'esecuzione di un comando, sincronizzare l'utilità di pianificazione at con l'ora di sistema modificata digitando at senza le opzioni della riga di comando.

  • I comandi pianificati vengono archiviati nel Registro di sistema. Di conseguenza, non si perdono le attività pianificate se si riavvia il servizio Pianificazione.

  • Non usare un'unità reindirizzata per i processi pianificati che accedono alla rete. Il servizio Pianificazione potrebbe non essere in grado di accedere all'unità reindirizzata, oppure l'unità reindirizzata potrebbe non essere presente se un altro utente è connesso al momento in cui l'attività pianificata viene eseguita. Usare invece percorsi UNC per i processi pianificati. Ad esempio:

    at 1:00pm my_backup \\server\share
    

    Non usare la sintassi seguente, dove x: è una connessione effettuata dall'utente:

    at 1:00pm my_backup x:
    

    Se si pianifica un comando at che usa una lettera di unità per connettersi a una directory condivisa, includere un comando at per disconnettere l'unità al termine del suo utilizzo. Se l'unità non è disconnessa, la lettera di unità assegnata non sarà disponibile al prompt dei comandi.

  • Per impostazione predefinita, le attività pianificate con questo comando verranno interrotte dopo 72 ore. È possibile modificare il Registro di sistema per modificare questo valore predefinito.

    Per modificare il Registro di sistema

    Attenzione

    La modifica non corretta del Registro di sistema potrebbe danneggiare gravemente il sistema. Prima di apportare modifiche al Registro di sistema, si consiglia di effettuare il backup di tutti i dati importanti presenti sul computer.

    1. Avviare l'editor del Registro di sistema (regedit.exe).

    2. Individuare e quindi fare clic sulla chiave del Registro di sistema seguente: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Schedule

    3. Dal menu Edit, scegliere Add Value, quindi aggiungere i seguenti valori del Registro di sistema:

      • Nome valore. atTaskMaxHours

      • Tipo di dati. reg_DWOrd

      • Radix. Decimale

      • Dati valore: 0. Un valore pari a 0 nel campo Dati valore non indica alcun limite e non si arresta. I valori compresi tra 1 e 99 indicano il numero di ore.

  • È possibile usare la cartella Attività pianificate per visualizzare o modificare le impostazioni di un'attività creata tramite questo comando. Quando si pianifica un'attività usando questo comando, l'attività viene elencata nella cartella Attività pianificate, con un nome simile al seguente:at3478. Tuttavia, se si modifica un'attività tramite la cartella Attività pianificate, viene aggiornata a un'attività pianificata normale. L'attività non è più visibile al comando at, l'impostazione dell'account non è più applicabile. È necessario immettere in modo esplicito un account utente e una password per l'attività.

Esempi

Per visualizzare un elenco di comandi pianificati nel server Marketing, digitare:

at \\marketing

Per altre informazioni su un comando con il numero di identificazione 3 nel server Corp, digitare:

at \\corp 3

Per pianificare l'esecuzione di un comando net share nel server Corp alle 8:00 e reindirizzare l'elenco al server di manutenzione, dalla directory condivisa Report e nel file Corp.txt, digitare:

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

Per eseguire il backup del disco rigido del server marketing in un'unità nastro a mezzanotte ogni cinque giorni, creare un programma batch denominato Archive.cmd, che contiene i comandi di backup e quindi pianificare l'esecuzione del programma batch, digitare:

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

Per annullare tutti i comandi pianificati nel server corrente, deselezionare le informazioni sulla pianificazione come indicato di seguito:

at /delete

Per eseguire un comando che non è un file eseguibile (.exe), precedere il comando con cmd /c per caricare cmd.exe come indicato di seguito:

cmd /c dir > c:\test.out