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 cartella Documenti. Il percorso è C: \ Users \ nome utente \ Documenti. Sono andato a C: \ Users \ username, con il tasto destro del mouse su Documenti cartella e fatto clic Proprietà. Quindi ho cliccato su Sicurezza scheda.
Come puoi vedere, l'account utente Aseem è stato esplicitamente aggiunto e dato il Pieno controllo autorizzazione. 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 i permessi di controllo completo. È piuttosto fastidioso doverlo fare, ma è l'unico modo per far funzionare lo script.
Nota: L'account che viene utilizzato per eseguire lo script deve far parte del locale Amministratori gruppo 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 in Utilità di pianificazione e cambiamo le impostazioni appropriate lì. Apri l'Utilità di pianificazione e trova il tuo compito sotto il Attività attive sezione. 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 scegliere Proprietà.
Ci sono diverse schede e un paio di cose devono essere controllate e modificate qui. Innanzitutto, sul Generale scheda, è necessario controllare l'account utente che viene utilizzato per eseguire l'attività. Nel mio caso, è il Aseem account, che avevo già autorizzato in precedenza sul file system e che fa parte del gruppo Administrators sul computer.
Quindi, devi scegliere il Esegui se l'utente è connesso o meno opzione e scegliere Windows Vista, Windows Server 2008 nel Configura per scatola.
Sul Azioni scheda, è necessario selezionare lo script, fare clic su modificare e quindi aggiungere il percorso alla cartella contenente lo script in the Inizia in (facoltativo) scatola. Questo può sembrare non necessario, ma non lo è. Nel mio caso, ho inserito C: \ Users \ Aseem \ Documenti \ nella scatola.
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.
Si noti che se lo script accede a diversi computer in un dominio durante l'esecuzione, è consigliabile 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 il tuo script usa le lettere per accedere alla rete, potrebbe non funzionare. Ad esempio, invece di usare F: \ data \, dovresti usare \ machinename \ nome_condivisione \ data \ nella sceneggiatura Se non riesci ancora a eseguire lo script, pubblica qui un commento e cercherò di aiutarti. Godere!