Como criar contas de serviço locais da área de trabalho do Windows?

2

Pergunta:

No Windows Home / Professional (Windows 10), qual é a maneira recomendada de criar uma conta de serviço local?

Existe alguma documentação para isso? (Powershell, GUI, etc).

Esclarecimento: Este não é um problema da Pergunta do Active Directory - ou da Conta gerenciada do serviço do Windows - somente na área de trabalho.

Contexto:

A instalação do BTSync do Bittorent solicita a opção de inicialização como um serviço local do Windows.

Durante a instalação, ele solicita o nome de usuário e a senha da conta de serviço local.

Como no Linux ...:

No Linux, normalmente usaria useradd e associe a conta aos grupos apropriados:

useradd -M btsync
usermod -L btsync

Nota: -r é para criar contas de serviço no Linux, mas se ele desativa o login ou não parece inconsistente - e não documentado, (man link).

Nenhum diretório inicial seria criado, o login seria desativado,

    
por elika kohen 03.02.2016 / 22:42

1 resposta

1

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:

  1. 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.
  2. Comportamento esperado: Deve fornecer automaticamente a identidade correta da conta do Serviço NT ou pelo menos permitir o usuário também.
  3. 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].
  4. 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

  1. 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 .
  2. 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:

  1. Abra o snap-in Serviços Locais, "services.msc"
  2. Navegue até o serviço desejado, (btsync), clique com o botão direito do mouse em "Propriedades".
  3. Selecione a guia "Logon".
  4. Selecione a opção para especificar um usuário.
  5. Digite o nome do serviço "Convencional", descrito acima: (sem aspas).

    NT Service\btsyncsvc

  6. REMOVA as senhas.

  7. Salvar - Aplicar
  8. 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!

    
por 23.02.2016 / 18:33