Não é possível criar processos com permissões elevadas da conta LocalSystem

2

Estou executando um servidor de compilação no windows server 2008 (team city). As compilações são executadas pelo agente de cidade de equipe que é executado como um serviço do Windows na conta LocalService.

Uma das compilações precisa copiar um arquivo zip criado para um compartilhamento remoto, para fazer isso, eu tenho um script powershell que tenta criar um novo processo com as credenciais de um usuário com as permissões apropriadas para gravar no compartilhamento. . O problema é que o script não consegue criar o processo. Eu posso executar o script bem do meu usuário admin (assim o script em si parece estar bem), isso me faz pensar que a conta LocalSystem não tem alguma permissão para shell novos processos com credenciais diferentes ou algo parecido?

Alguma idéia do que esse erro realmente significa? Nota: Não consigo ver nenhum erro nos logs de eventos de segurança que pareça estranho (?)

$userName = "domain\user"
$password = "password"
$secstr = New-Object -TypeName System.Security.SecureString
$password.ToCharArray() | ForEach-Object {$secstr.AppendChar($_)}
$credentials = new-object -typename System.Management.Automation.PSCredential -argumentlist $userName, $secstr
$command = "Copy-Item d:\file.zip \remote\share\file.zip"
$bytes = [System.Text.Encoding]::Unicode.GetBytes($command)
$encodedCommand = [Convert]::ToBase64String($bytes)

Start-Process powershell -NoNewWindow -ArgumentList "-encodedCommand", $encodedCommand -credential $credentials -wait

Erro lançado na linha Start-Process

System.InvalidOperationException: This command cannot be executed due to the error: Access is denied.
    at System.Management.Automation.MshCommandRuntime.ThrowTerminatingError(ErrorRecord errorRecord)
    
por Jules 29.11.2013 / 19:51

1 resposta

0

Veja minha resposta para Elevar credenciais com powershell via conta do sistema local no StackOverflow:

There seems to be a restriction on certain commands when a script is run under LocalSystem. This makes sense in terms of security, given that LocalSystem:

has complete unrestricted access to local resources. This is also the disadvantage of LocalSystem because a LocalSystem service can do things that would bring down the entire system.

     

Referência: MSDN, a conta LocalSystem

    
por 01.11.2015 / 15:02