2012-11-29 7 views
91

Sono di fronte a uno strano problema. Ho pianificato un'attività per rilasciare un file batch. Quando eseguo l'operazione con l'opzione Run only when user is logged on, tutto funziona correttamente. ma voglio eseguire questa attività in background e quindi lo sto eseguendo utilizzando l'opzione Run whether user is logged on or not. Ora quando eseguo l'attività non funziona. Ottengo i seguenti 2 errori. Non capisco questo errore. Per favore aiutami a risolvere questo problema.perché l'attività di pianificazione attività di Windows 7 ha esito negativo con errore 2147942667

Task Scheduler failed to launch action "C:\Windows\SYSTEM32\cmd.exe" in instance "{2a7cc950-fad9-4633-9701-af75a0fd220d}" of task "\stmm\Daemon". Additional Data: Error Value: 2147942667. 
Task Scheduler failed to start instance "{2a7cc950-fad9-4633-9701-af75a0fd220d}" of "\stmm\Daemon" task for user "GBLADHEDANI\N011940" . Additional Data: Error Value: 2147942667. 
+27

Convertire il codice di errore in esadecimale per ottenere 0x8007010B. Il 7 lo rende un errore di Windows. Il che rende 010B il codice di errore 267. "Il nome della directory non è valido". Certo, succede. –

+1

@HansPassant, è fantastico. Converti in esadecimale, utilizza gli ultimi quattro byte per cercare il codice di errore. Spero di poter ricordare quello! –

+0

FWIW Ho trovato che l'UI principale dell'Utilità di pianificazione aveva l'attività con un 'Risultato ultima esecuzione' o una colonna simile, mostrando un messaggio di errore 'Il nome della directory non è valido'. La correzione nella nostra situazione era la risposta da jp2code in basso sulla rimozione delle virgolette dalla cartella Start In, perché l'avevo copiata dal comando quotato per l'esecuzione. – Neek

risposta

178

Ho avuto lo stesso problema.

La soluzione per me è stata trovata della Microsoft KB articolo 2.452.723:

Windows Vista onwards scheduled tasks fail to run if the path in "Start in (Optional)" field has quotes

Fondamentalmente, modificare il proprio operazione pianificata e prendere le citazioni fuori dal Inizio In campo:

  1. Aperto l'attività pianificata
  2. Passare alla scheda "Azioni"
  3. Aprire l'azione
  4. Rimuovi le virgolette (") dal campo "Start in (opzionale)"
  5. Salvare e chiudere tutti i dialoghi aperti

enter image description here

+4

il problema era correlato all'utilizzo delle autorizzazioni. Quando è stato eseguito utilizzando l'opzione "Esegui se l'utente è connesso o meno", stavo usando un utente diverso per eseguire l'applicazione. Questo nuovo utente non aveva le autorizzazioni appropriate per leggere i dati e quindi l'errore. Grazie. – Alok

+1

Anche per me non era "permesso". Era la cartella ** Start in **. Se ha "C: \ Some Path \" ', è sbagliato perché ha virgolette. Ha bisogno di dire 'C: \ Some Path \' (senza virgolette). – jp2code

+10

Questa è la soluzione. Rimuovi le virgolette dalla casella di testo ** Inizia nella cartella **. Una soluzione esoterica. Ore sprecate in questo - desidererei che Microsoft avrebbe reso più facile con errori utili o risolto questo bug ovvio. – Dan

2

Per una risposta più generico, convertire il valore di errore esadecimale, quindi cerca il valore esadecimale al Windows Task Scheduler Error and Success Constants

+3

Ciao Mike. Ho usato Windows Calculator in modalità Programmer per convertire '2147942667' su HEX:' 0x8007010B'. Quel valore non appare nel link che hai fornito. Solo FYI, ovviamente. – jp2code

+3

L'ho cercato su Google: '2147942667 in hex'. Google è anche una calcolatrice. – Baodad

5

Questo può accadere per più di un motivo. Nel mio caso ciò è accaduto a causa di un problema di autorizzazioni. L'utente che l'attività era in esecuzione non disponeva dell'autorizzazione per scrivere nella directory dei registri, pertanto non è riuscita con questo errore.

3

Ho avuto lo stesso problema, su Windows7.

Stavo ricevendo l'errore 2147942667 e un report di impossibilità di eseguire c: \ windows \ system32 \ CMD.EXE. Ho provato con e senza virgolette nello script e nello start-in e non ha fatto differenza. Quindi ho provato a sostituire tutti i riferimenti di percorso alle unità di rete mappate e ai riferimenti UNC (\ Server1 \ Sharexx \ my_scripts \ run_this.cmd) e ho risolto il problema. Pat.

+0

Questo finalmente lo ha fatto anche per me. Ho dovuto usare "Net Use" per ottenere il nome del server e poi eseguire il ping per ottenere il nome del dominio. Alla fine era \\ machine.domain.local \ app.exe. \\ Machine \ app.exe non ha funzionato – greg

+0

Lo ha fatto anche per me. Grazie! – Jace

2

Per me era il "Start In" - Ho copiato i valori da un server precedente e aggiornato il percorso verso la nuova posizione di exe, ma ho dimenticato di aggiornare la posizione "start in" - se non esiste, si ottiene questo errore troppo

Citando @ commento s' hans-passant dall'alto, perché è prezioso per debgging questo problema:

convertire il codice di errore esadecimale per ottenere 0x8007010B. Il 7 lo rende un errore di Windows . Il che rende 010B il codice di errore 267. "Il nome della directory è non valido". Certo, succede.

Problemi correlati