Aplica-se a:
Windows 7, 8 / 8.1, Windows 10 - Casa e profissional.
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 comum 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: Após a especificação da conta de serviço apropriada, essa conta de usuário temporária deve 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 "NT Service" virtual:
- 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 "Logon".
- 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:
Defina permissões de pasta - usando o nome completo da conta: "Serviço NT \ 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 conta 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 não inicia porque a conta não foi concedida Faça logon como 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 automaticamente atribuídas 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 do PowerShell Grant-Log-on-as-a-service, de Galeria Technet ":
Se o PowerShell reportar um "Erro de execução da política", pode ser necessário alterar a política de execução:
PS > Set-ExecutionPolicy RemoteSigned
... May Resulta 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 desejar:
PS > Set-ExecutionPolicy Restricted
Espero que isso ajude!