Se si dispone di un file .BAT e si sta tentando di eseguirlo automaticamente utilizzando l'Utilità di pianificazione in Windows, è possibile che si sia verificato il problema in cui semplicemente non viene eseguito a meno che non si esegua manualmente l'attività.
Ho creato un file batch che elimina tutto all'interno di una cartella temporanea all'avvio del computer. Ho creato un'attività di base in Utilità di pianificazione e ho sperato per il meglio. Sfortunatamente, non è successo nulla all'avvio del mio computer. Dopo un sacco di tentativi ed errori, ho capito come far funzionare lo script.
In questo articolo, illustrerò le impostazioni e le autorizzazioni che è necessario regolare per consentire l'esecuzione del file batch senza l'intervento manuale.
Passaggio 1: Verifica autorizzazioni file / cartelle
Il primo passo per risolvere questo problema è garantire che l'account che si sta utilizzando per eseguire lo script in Utilità di pianificazione disponga di autorizzazioni di controllo completo sulla cartella contenente lo script, lo script stesso e qualsiasi cartella / file che lo script tocca quando viene eseguito.
Ad esempio, ho creato il seguente script batch di seguito:
set folder = "C: \ test" cd / d% cartella% per / F "delim =" %% i in ('dir / b') do (rmdir "%% i" / s / q || del "% % i "/ s / q)
Ho salvato il file .BAT nella mia cartella Documenti. Il percorso è C: \ Users \ username \ Documents . Sono passato a C: \ Users \ username, facendo clic con il pulsante destro del mouse sulla cartella Documenti e facendo clic su Proprietà . Poi ho fatto clic sulla scheda Sicurezza .
Come puoi vedere, l'account utente Aseem è stato esplicitamente aggiunto e ha ricevuto l'autorizzazione per il controllo completo . Ora devi fare la stessa cosa per la cartella che contiene lo script e per lo script stesso. Non dare per scontato che se dai il permesso alla cartella che contiene lo script, sei a posto, perché non lo sei. Infine, imposta le autorizzazioni su qualsiasi file e cartella con cui lo script interagirà.
Nel mio caso, ho dovuto andare a C: \ test, fare clic destro su quella cartella e aggiungere il mio account utente lì con le autorizzazioni di controllo completo. È piuttosto fastidioso doverlo fare, ma è l'unico modo per far funzionare lo script.
Nota : l'account utilizzato per eseguire lo script deve far parte del gruppo Administrators locale sul computer. Nel mio caso, l'account Aseem è un account amministratore e quindi parte del gruppo Administrators locale.
Passaggio 2: controllare le impostazioni dell'Utilità di pianificazione
Ora andiamo a Task Scheduler e cambiamo le impostazioni appropriate lì. Aprire l'Utilità di pianificazione e individuare l'attività nella sezione Attività attive . Dovrebbero essere elencati in ordine alfabetico.
Fare doppio clic su di esso e aprirà l'attività da solo nella stessa finestra. Per modificare l'attività, devi fare clic destro su di esso e selezionare Proprietà .
Ci sono diverse schede e un paio di cose devono essere controllate e modificate qui. In primo luogo, nella scheda Generale, è necessario verificare l'account utente che viene utilizzato per eseguire l'attività. Nel mio caso, è l'account Aseem, a cui avevo dato le autorizzazioni in precedenza sul file system e che fa parte del gruppo Administrators sul computer.
Successivamente, è necessario scegliere l'opzione Esegui se l'utente è connesso o meno e scegliere Windows Vista, Windows Server 2008 nella casella Configura per .
Nella scheda Azioni, è necessario selezionare lo script, fare clic su Modifica e quindi aggiungere il percorso alla cartella contenente lo script nella casella Inizia in (facoltativo) . Questo può sembrare non necessario, ma non lo è. Nel mio caso, inserisco C: \ Users \ Aseem \ Documents \ nella casella.
Ora clicca su OK per salvare le impostazioni. Quando si esegue questa operazione, potrebbe essere visualizzata una finestra di dialogo in cui è necessario immettere la password per l'account utente che eseguirà l'attività. Questo fa apparire un altro requisito. Non è possibile utilizzare un account che non ha una password. L'account utente deve avere una password per l'esecuzione dell'attività.
Infine, è necessario eseguire manualmente l'attività una volta in Utilità di pianificazione per assicurarsi che venga eseguita. Se funziona correttamente manualmente dopo aver modificato tutte le impostazioni, dovrebbe essere eseguito quando dovrebbe essere attivato. Nel mio caso, doveva succedere all'avvio e dopo aver apportato le modifiche, tutto ha funzionato bene.
Tieni presente che se lo script accede a diversi computer in un dominio durante l'esecuzione, dovresti provare a utilizzare l'account dell'amministratore del dominio per eseguire l'attività. Ciò garantirà che l'account disponga di autorizzazioni sufficienti per accedere ai computer remoti.
Un altro elemento da notare è se il tuo script accede a risorse su una condivisione di rete. Se lo script utilizza le lettere per accedere alla rete, potrebbe non funzionare. Ad esempio, invece di usare F: \ data \, dovresti usare \\ machinename \ share_name \ data \ nello script. Se non riesci ancora a eseguire lo script, pubblica qui un commento e cercherò di aiutarti. Godere!