Erro ao Executar script Powershell via Job sql server

Tatiana Jandira 370 Pontos de reputação
2024-12-26T20:16:09.5933333+00:00

Bom dia.

Estou executando um script powershell via job sql, porém esta sendo gerado o erro abaixo. Já tentei criar prox y sem sucesso. Quando clico com botão direito em cima do powerShell e executo como adminsitrado da certo. Porem via job nao. Sabem o que pode ser ?

Imagem do usuário

Erro :

A job step received an error at line 1 in a PowerShell script. The corresponding line is 'powershell -File  "H:\ColetaDadosEventViewer\InsertEventosEventViewer_RemoteDekstop.ps1"  '. Correct the script and reschedule the job. The error information returned by PowerShell is: '    + FullyQualifiedErrorId : UnauthorizedAccess  . 

SQL Server
SQL Server
Uma família de sistemas de gerenciamento e análise de banco de dados relacional da Microsoft para soluções de comércio eletrônico, linha de negócios e data warehouse.
65 perguntas
0 comentários Sem comentários
{count} votos

2 respostas

Classificar por: Mais útil
  1. Jonathan Pereira Castillo 10,820 Pontos de reputação Fornecedor da Microsoft
    2024-12-26T20:29:32.82+00:00

    Olá Tatiana, há muito tempo sem notícias suas, fico feliz em poder ajudar novamente. Espero que você esteja gostando das festividades.

    O erro "UnauthorizedAccess" ao executar um script PowerShell via job no SQL Server geralmente está relacionado a permissões. Aqui estão algumas etapas que podem ajudar a resolver o problema:

    Verificar Permissões do SQL Server Agent:

    • Certifique-se de que a conta do SQL Server Agent tem permissões adequadas para acessar o caminho e executar o script PowerShell. Você pode tentar configurar o job para ser executado com uma conta que tenha permissões administrativas.
    1. Configurar a Política de Execução do PowerShell:
    • Abra o PowerShell como administrador e execute o comando:
    Set-ExecutionPolicy RemoteSigned
    
    • Isso permite a execução de scripts que são assinados digitalmente. Se necessário, você pode usar Unrestricted, mas isso é menos seguro1.

    Executar o Script com Credenciais Elevadas:

    • Configure o job para usar um proxy que tenha permissões administrativas. No SQL Server Management Studio (SSMS), vá para SQL Server Agent > Proxies > PowerShell e crie um novo proxy com uma conta que tenha permissões adequadas2.

    Verificar o Caminho do Script:

    • Certifique-se de que o caminho do script está correto e acessível pela conta que está executando o job. Às vezes, problemas de caminho podem causar erros de acesso.

    Adicionar Permissões ao Script:

    • Verifique se o script PowerShell tem permissões de execução. Você pode fazer isso clicando com o botão direito no arquivo, indo em Propriedades > Segurança e garantindo que a conta do SQL Server Agent tenha permissões de leitura e execução.

    Logs de Erro Detalhados:

    • Verifique os logs de erro detalhados no SQL Server e no Visualizador de Eventos do Windows para obter mais informações sobre o motivo do acesso negado.

    Saudações

    Jonathan.


    Sua opinião é muito importante para nós! Se esta resposta resolveu sua consulta, por favor clique em ‘YES‘. Isso nos ajuda a melhorar continuamente a qualidade e relevância de nossas soluções. Obrigado pela sua colaboração!

    0 comentários Sem comentários

  2. Tatiana Jandira 370 Pontos de reputação
    2024-12-27T12:58:19.77+00:00

    Oi Jonathan Pereira Castillo .

    Faz um pouco de tempo que não nos falamos. As festas de final de ano estão bem. Obrigada !

    Eu realizei o teste ate criando um proxy e setando no job que executa o script do powerShell.

    Verifiquei as permissões e mesmo assim o erro persiste

    :(

    0 comentários Sem comentários

Sua resposta

As respostas podem ser marcadas como Respostas Aceitas pelo autor da pergunta, o que ajuda os usuários a saber a resposta que resolveu o problema do autor.