O acesso é negado quando você executa um trabalho em lote em um computador baseado no Windows Server 2003
Este artigo fornece solução para um erro (o Access é negado) que ocorre quando você executa um trabalho em lote em um computador baseado no Microsoft Windows Server 2003.
Aplica-se a: Windows Server 2003
Número de KB original: 867466
Sintomas
Quando você executa um trabalho em lote que é executado no contexto de uma conta de usuário regular, o script pode não ser executado. Se você executar o trabalho em lote usando o recurso Tarefas Agendadas, a seguinte mensagem de erro poderá ser registrada no arquivo de log Tarefas Agendadas (Schedlgu.txt):
0x80070005: o acesso é negado.
Se você usar um programa de depurador para tentar determinar por que o trabalho em lote não funciona, a seguinte mensagem de erro poderá aparecer na saída de depuração:
Acesso negado (Erro 5)
Motivo
Esse problema ocorrerá se todas as seguintes condições forem verdadeiras:
- Você executa o trabalho em lote em um servidor membro baseado no Windows Server 2003.
- O trabalho em lote é executado como um processo não interativo.
- O trabalho em lote é configurado para ser executado no contexto de uma conta que não é membro do grupo Administradores.
No Windows Server 2003, o grupo Usuários não tem permissões de Leitura e Execução para o processador de comando (Cmd.exe). Por padrão, o programa Cmd.exe tem as seguintes configurações de permissões:
O grupo implícito interativo e o grupo implícito de serviço têm permissões de leitura e execução.
Observação
Em um servidor membro, o grupo TelnetClients também tem permissões de leitura e execução. Em um controlador de domínio, o grupo implícito Lote também tem permissões de Leitura e Execução.
O grupo Administradores e o grupo implícito do Sistema têm permissões de Controle Total.
Para resolve esse problema, use um dos métodos a seguir.
Resolução 1: conceder permissões de leitura e execução Cmd.exe
Conceda ao programa Cmd.exe permissões De leitura e execução para a conta de usuário em que o trabalho em lote é executado. Para fazer isso, siga estas etapas:
Clique em Iniciar e clique em Explorer do Windows.
Localize e clique com o botão direito do mouse no arquivo Cmd.exe. O arquivo Cmd.exe está localizado na pasta %windir%\System32.
Clique em Propriedades.
Clique na guia Segurança.
Clique em Adicionar.
Na caixa Inserir os nomes de objeto para selecionar, digite o nome de usuário em que o trabalho do lote é executado e clique em OK duas vezes.
Observação
Quando você adiciona o usuário, o usuário recebe automaticamente permissões de Leitura e Execução.
Clique em Sim quando você for solicitado a continuar.
Resolução 2: conceder permissões de leitura e execução para Cmd.exe arquivo ao grupo Batch
Conceda permissões de leitura e execução para o arquivo Cmd.exe para o grupo Lote. Isso permite que todos os processos em lote executem o processador de comando. Para fazer isso, siga estas etapas:
- Clique em Iniciar e clique em Explorer do Windows.
- Localize e clique com o botão direito do mouse no arquivo Cmd.exe . O arquivo Cmd.exe está localizado na pasta %windir%\System32.
- Clique em Propriedades.
- Clique na guia Segurança.
- Clique em Adicionar.
- Na caixa Inserir os nomes de objeto para selecionar , digite Lote e clique em OK duas vezes.
- Clique em Sim quando você for solicitado a continuar.
Mais informações
O comportamento descrito neste artigo é diferente do comportamento padrão do Microsoft Windows 2000 Server. Por padrão, o Windows 2000 Server concede permissões de leitura e executar permissões para o grupo Usuários.
Para obter mais informações sobre grupos implícitos, visite os seguintes sites da Microsoft:
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários