Aplica-se a:
Windows 7, 8 / 8.1, Windows 10 - Home e Professional.
Programas (como o BTSync), que instalam serviços - mas não seguem as convenções de serviço do Windows como outros programas (IIS, MySQL, SQL Server, etc.).
Problemas:
- Defeito de Software: Algumas instalações (como o BitTorrent Sync) não instalam o Serviço do Windows - a menos que uma conta de usuário regular seja especificada.
- Comportamento esperado: Deve fornecer automaticamente a identidade correta da conta do Serviço NT, ou pelo menos permitir o usuário também.
- Problema de segurança: O usuário é forçado a criar outra conta de usuário regular [que, como prática recomendada, nunca deve ser feita].
- Solução alternativa: Depois que a Conta de Serviço Apropriada for especificada, essa conta de usuário temporária deverá ser excluída.
Referências
- O Windows não usa "Contas de serviço" - no sentido do Linux, mas sim " Contas Virtuais "e" Contas de serviço gerenciadas (para máquinas que participam de um ambiente LDAP .
Convenção de Nomenclatura da Conta de Serviço: Por Convenção de Nomenclatura, parece que as contas virtuais devem seguir o formulário "Nome do Comando" - [Extensão] + "svc"
"btsync.exe" becomes "NT Service\btsyncsvc"
Criando a conta virtual "NT Service":
- Abra o snap-in Serviços Locais, "services.msc"
- Navegue até o serviço desejado, (btsync), clique com o botão direito do mouse em "Propriedades".
- Selecione a guia "Log On".
- Selecione a opção para especificar um usuário.
Digite o nome do serviço "Convencional", descrito acima: (sem aspas).
NT Service\btsyncsvc
REMOVA as senhas.
- Salvar - aplicar
- Reinicie o serviço.
Definindo permissões de pasta:
Definir permissões de pasta - usando o nome completo da conta: "NT Service \ btsyncsvc" (usando cotações pode ou não ser necessário dependendo do contexto ...) ...
Não é necessário que o btsyncsvc tenha permissões de execução, portanto remova se quiser - caso contrário, controle total.
Erro - O serviço não inicia devido a "Nenhum mapeamento entre nomes de contas e IDs de segurança":
Por exemplo, esse erro ocorrerá se você especificar "NT Service \ btsync" em vez de "NT Service \ btsyncsvc" ...
O comando a seguir retornará a lista de nomes de contas de serviço atuais.
Usando o PowerShell, (PS), verifique a lista em relação àquela que você especificou para usar em "Log On":
PS > get-service | foreach {Write-Host NT Service\$($_.Name)}
Erro - O serviço falha ao iniciar porque a conta não foi concedida como uma das permissões de serviço:
Este erro pode ocorrer se você especificou o "Nome Convencional" incorreto ou se as permissões realmente estão faltando - embora sejam atribuídas automaticamente se a convenção correta for usada.
No Windows 10 Home, o usuário não poderá usar o snap-in de diretiva de segurança local para configurá-lo (secpol.msc) e deve ser feito manualmente por meio do PowerShell ou outro utilitário.
Scripts do PowerShell:
Para corrigir isso, é possível usar o PowerShell. "Script PowerShell Grant-Log-on-as-a-service, da Galeria Technet" :
Se o PowerShell reportar um "Erro de ExecutionPolicy", pode ser necessário alterar a Política de Execução:
PS > Set-ExecutionPolicy RemoteSigned
... Pode resultar em um erro de assinatura - e depois alterado para:
PS > Set-ExecutionPolicy Unrestricted
Em seguida, use o Script para atribuir a permissão:
PS > .".\Add Account To LogonAsService.ps1" "NT Service\btsyncsvc"
Redefina a ExecutionPolicy se desejado:
PS > Set-ExecutionPolicy Restricted
Espero que isto ajude!