Falha no trabalho do SQL Server Powershell com proxy não-administrador

3

Estou tentando criar um trabalho do SQL Agent que executará um script do PowerShell salvo no meu sistema. No entanto, o trabalho falha com o seguinte erro:

A job step received an error at line 1 in a PowerShell script. The corresponding line is 'g:\PowerShellShare\Get-LastDBBackups.ps1'. Correct the script and reschedule the job. The error information returned by PowerShell is: 'AuthorizationManager check failed.

Se eu adicionar a conta de proxy aos administradores locais, ela funcionará, portanto, parece ser um problema de permissões (deixar a conta no administrador local não é uma opção para o meu ambiente).

O log do Windows Security mostra várias falhas de auditoria com a ID do evento 4656 toda vez que eu executo o trabalho, todas elas são da conta de proxy que tenta acessar um objeto:

Object:
Object Server:      SC Manager
Object Type:        SERVICE OBJECT

Um rápido sc sdshow scmanager mostrou que Usuários autenticados devem ter acesso ao scmanager:

D:(A;;CCLCRPRC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)

Mais intrigantemente, se eu RUNAS a conta de proxy no servidor e executar o script, ele é executado muito bem. Não importa qual script eu tente executar por meio do trabalho do SQL Agent, tentar executar qualquer resultado de script no mesmo comportamento. Eu posso no entanto executar outros comandos do PowerShell, mas não executar nenhum script.

Espero que alguém tenha se deparado com isso antes e possa me apontar na direção certa.

UPDATE: Parece que o maior problema é que quando estou executando o SQL Agent Job, minha conta proxy não é membro da segurança implícita interactive grupo. Parece que esse grupo está concedendo ao proxy todas as permissões necessárias para executar o trabalho com êxito quando eu testá-lo usando o RUNAS. Não consigo rastrear todas as permissões permitidas por este grupo.

As falhas de auditoria que eu estava vendo eram para os serviços WinHttpAutoProxySvc e CryptSvc . Usei sc sdshow e sc sdset para modificar as permissões para esses serviços específicos, para que as permissões Usuários Autenticados correspondessem às do grupo Usuários Interativos . As falhas de auditoria agora desapareceram, mas ainda recebo a mesma mensagem de erro no SQL quando executo o trabalho.

    
por MaddHatter 28.12.2012 / 21:14

1 resposta

1

Verifique sua política de execução no Powershell; Parece que pode estar falhando porque a configuração padrão é "Restrito", que permite que o Powershell seja executado como um shell interativo e não executa scripts. Veja o seguinte link para detalhes:

link

EDIT: Apenas percebi que o link acima descreve apenas a sintaxe para "Set-ExecutionPolicy"; este link deve fornecer algum contexto adicional também:

link

    
por 28.12.2012 / 21:30