Condividi tramite


L'accesso viene negato quando si esegue un processo batch in un computer basato su Windows Server 2003

Questo articolo fornisce una soluzione a un errore (Accesso negato) che si verifica quando si esegue un processo batch in un computer basato su Microsoft Windows Server 2003.

Si applica a: Windows Server 2003
Numero KB originale: 867466

Sintomi

Quando si esegue un processo batch eseguito nel contesto di un account utente normale, lo script potrebbe non essere eseguito. Se si esegue il processo batch usando la funzionalità Attività pianificate, è possibile registrare il messaggio di errore seguente nel file di log attività pianificate (Schedlgu.txt):

0x80070005: accesso negato.

Se si usa un programma debugger per provare a determinare il motivo per cui il processo batch non funziona, nell'output di debug potrebbe essere visualizzato il messaggio di errore seguente:

Accesso negato (Errore 5)

Causa

Questo problema si verifica se tutte le condizioni seguenti sono vere:

  • Il processo batch viene eseguito in un server membro basato su Windows Server 2003.
  • Il processo batch viene eseguito come processo non interattivo.
  • Il processo batch è configurato per l'esecuzione nel contesto di un account che non è membro del gruppo Administrators.

In Windows Server 2003 il gruppo Utenti non dispone delle autorizzazioni Lettura ed Esecuzione per il processore dei comandi (Cmd.exe). Per impostazione predefinita, il programma Cmd.exe dispone delle impostazioni di autorizzazioni seguenti:

  • Il gruppo implicito Interattivo e il gruppo implicito Del servizio dispongono delle autorizzazioni Lettura ed Esecuzione.

    Annotazioni

    In un server membro il gruppo TelnetClients dispone anche delle autorizzazioni Lettura ed Esecuzione. In un controller di dominio il gruppo implicito Batch dispone anche delle autorizzazioni Lettura ed Esecuzione.

  • Il gruppo Administrators e il gruppo System implicito dispongono delle autorizzazioni Controllo completo.

Per risolvere questo problema, utilizzare uno dei metodi seguenti.

Risoluzione 1: Concedere a Cmd.exe le autorizzazioni di lettura ed esecuzione

Concedere al programma di Cmd.exe autorizzazioni lettura ed esecuzione per l'account utente in cui viene eseguito il processo batch. A tale scopo, effettuare i passaggi seguenti:

  1. Fare clic su Start e quindi su Esplora risorse.

  2. Individuare e quindi fare clic con il pulsante destro del mouse sul file Cmd.exe. Il file Cmd.exe si trova nella cartella %windir%\System32.

  3. Scegliere Proprietà.

  4. Fare clic sulla scheda Sicurezza.

  5. Fare clic su Aggiungi.

  6. Nella casella Immettere i nomi degli oggetti da selezionare digitare il nome utente in cui viene eseguito il processo batch e quindi fare clic su OK due volte.

    Annotazioni

    Quando si aggiunge l'utente, all'utente vengono concesse automaticamente le autorizzazioni Lettura ed Esecuzione.

  7. Fare clic su quando viene richiesto di continuare.

Risoluzione 2: Concedere autorizzazioni di lettura ed esecuzione per Cmd.exe file al gruppo Batch

Concedere autorizzazioni di lettura ed esecuzione per il file Cmd.exe al gruppo Batch. In questo modo, tutti i processi batch possono eseguire il processore dei comandi. A tale scopo, effettuare i passaggi seguenti:

  1. Fare clic su Start e quindi su Esplora risorse.
  2. Individuare e quindi fare clic con il pulsante destro del mouse sul file Cmd.exe. Il file Cmd.exe si trova nella cartella %windir%\System32.
  3. Scegliere Proprietà.
  4. Fare clic sulla scheda Sicurezza.
  5. Fare clic su Aggiungi.
  6. Nella casella Immettere i nomi degli oggetti da selezionare digitare Batch e quindi fare clic su OK due volte.
  7. Fare clic su quando viene richiesto di continuare.

Ulteriori informazioni

Il comportamento descritto in questo articolo è diverso dal comportamento predefinito di Microsoft Windows 2000 Server. Per impostazione predefinita, Windows 2000 Server concede le autorizzazioni di lettura ed Esegui per il gruppo Utenti.

Per altre informazioni sui gruppi impliciti, visitare i siti Web Microsoft seguenti: