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, ti illustrerò le impostazioni e le autorizzazioni che devi modificare per ottenere il file batch da eseguire senza l'intervento manuale.
Passaggio 1: verifica autorizzazioni file / cartelle
Il primo passo per risolvere questo problema è garantire che l'account utilizzato per eseguire lo script in Utilità di pianificazione ha permessi 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 %folder% for /F "delims=" %%i in ('dir /b') do (rmdir "%%i" /s/q || del "%%i" /s/q)
Ho salvato il file .BAT nella cartella Documenti. Il percorso è C: \ Users \ username \ Documents. Sono passato a C: \ Users \ nome utente, facendo clic con il pulsante destro del mouse sulla cartella Documentie 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 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 tutti i file e le cartelle con cui lo script interagirà.
Nel mio caso, dovevo andare a C: \ test, fare clic con il tasto 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 eseguire lo script.
Nota: l'account utilizzato per l'esecuzione lo script deve far parte del gruppo Administratorslocale sul computer. Nel mio caso, l'account Aseem è un account amministratore e quindi parte del gruppo Administrators locale.
Passaggio 2: Verifica le impostazioni dell'Utilità di pianificazione
Ora andiamo all'utilità di pianificazione e qui cambiamo le impostazioni appropriate. Apri l'Utilità di pianificazione e trova la tua 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 con il pulsante destro del mouse e scegliere Proprietà.
Ci sono diverse schede e un paio di cose devono essere controllate e modificate qui. Innanzitutto, nella scheda Generale, devi controllare l'account utente che viene utilizzato per eseguire l'attività. Nel mio caso, è l'account Aseem, che avevo già autorizzato in precedenza sul file system e che fa parte del gruppo Administrators sul computer.
Successivamente, devi scegliere l'opzione Esegui se l'utente è connesso o menoe scegliere Windows Vista, Windows Server 2008nella casella Configura per.
Sulle Azionischeda, devi selezionare lo script, fare clic su Modificae quindi aggiungere il percorso alla cartella contenente lo script nella casella e Inizia in (facoltativo). Questo può sembrare non necessario, ma non lo è. Nel mio caso, inserisco C: \ Users \ Aseem \ Documents \nella casella.
Ora fai clic su OKper 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 funzioni. 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.
Notare che se il tuo script è accedendo 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 alle risorse su una condivisione di rete. Se il tuo script usa le lettere per accedere alla rete, potrebbe non funzionare. Ad esempio, invece di utilizzare F: \ data \, devi utilizzare \\ nomecomputer \ nome_vista \ data \nello script. Se non riesci ancora a eseguire lo script, pubblica qui un commento e cercherò di aiutarti. Buon divertimento!