Eu comecei a perguntar isso no DBA do StackExchange, mas decidi que provavelmente seria mais um tipo de pergunta de segurança do Windows Server.
SQL Server 2016 SP1 + CU no servidor 2012 R2.
Estou tentando executar uma etapa do PowerShell em um trabalho do SQL Agent usando um usuário proxy e estou tendo problemas com o SQL tentando fazer manutenção antes de executar qualquer código.
Portanto, o usuário proxy está incluído no subsistema do SQL Agent PowerShell. Eu posso fazer um trabalho de amostra com apenas um passo, para executar "Get-Date". Os erros do trabalho:
Executed as user: Domain\ProxyUser. A job step received an error at line 1 in a PowerShell script. The corresponding line is 'set-executionpolicy RemoteSigned -scope process -Force'. Correct the script and reschedule the job. The error information returned by PowerShell is: 'Access denied '. Process Exit Code -1. The step failed.
MachinePolicy, UserPolicy e LocalMachine são todos configurados no RemoteSigned, portanto, não é como se houvesse um problema de escopo, e isso produziria um erro diferente de qualquer maneira.
Se eu colocar o usuário proxy em administradores locais na máquina, o problema desaparece e o script é executado normalmente. Eu vejo esse acesso nos logs de segurança do Windows no sistema:
Object:
Object Server: Security
Object Type: File
Object Name: \Device\ConDrv
Object Handle: 0x4
Process Information:
Process ID: 0x6350
Process Name: C:\Windows\System32\conhost.exe
Requested Operation:
Desired Access: DELETE
READ_CONTROL
WRITE_DAC
WRITE_OWNER
SYNCHRONIZE
ReadData (or ListDirectory)
WriteData (or AddFile)
AppendData (or AddSubdirectory or CreatePipeInstance)
ReadEA
WriteEA
Execute/Traverse
DeleteChild
ReadAttributes
WriteAttributes
Privileges: SeTakeOwnershipPrivilege
Parece que é basicamente o mesmo problema que o @MaddHatter teve há quatro anos neste link:
Falha no trabalho do SQL Agent Powershell com proxy não-administrador
A única opção é colocar esse usuário em administradores locais? Parece uma abordagem bastante hamfisted para o problema. Como posso adaptar melhor as permissões para esses usuários proxy para que o trabalho possa ser executado?