Como eu concedo permissão ao usuário para adicionar usuários locais no Windows 7?

2

Como eu concedo a uma conta de usuário local a permissão para adicionar outros usuários locais no Windows 7 Professional? O ponto importante é que o usuário local que deve ser capaz de criar novas contas não deve ter privilégios de administrador.

Não encontrei uma política de grupo local para conceder permissão para criar usuários para uma conta específica. Então, tentei criar os usuários por meio de um script do PowerShell:

$user = Read-Host "Please enter username"

$objOu = [ADSI]"WinNT://$env:computername"
$objUser = $objOu.Create("User", $user)
$objUser.setPassword("DefaultS3cr3t")
$objUser.setInfo()
$objUser.description = "Simple User"
$objUser.passwordExpired = 1
$objUser.setInfo()

$group = [ADSI]"WinNT://$env:computername/Users,group"
$group.Add("WinNT://$user,user")

Quando executo esse script com privilégios administrativos, ele funciona como esperado.

Para dar a um usuário normal a permissão para executar este script, sem vazar a senha do administrador, tentei usar um "agente de custódia" conforme descrito aqui: link

O problema é que a tarefa é executada em segundo plano (porque é executada como um usuário que não está logado), portanto, o nome de usuário não pode ser digitado.

Usar um "SecureString" para salvar a senha não é uma opção, porque a senha de administrador seria extraível para o usuário normal.

Existe uma maneira de conceder uma permissão normal ao usuário para criar outros usuários normais, sem conceder privilégios administrativos completos?

    
por MichA 10.06.2013 / 15:19

2 respostas

0

Cheguei ao resultado, que usando um script powershell de dois estágios resolve o meu problema. Eu escrevi um script de serviço, que é iniciado pelo agendador de tarefas do Windows com privilégios administrativos completos, conforme descrito neste link: link

A tarefa de serviço abre um canal nomeado e escuta uma conexão do cliente. O pipe é protegido por sua ACL, de modo que apenas o usuário criador e a conta de usuário local, que devem ser capazes de criar usuários locais, possam ler / gravar. Eu desenvolvi um protocolo de texto simples para listar e adicionar usuários. O script de serviço faz o trabalho de adicionar usuários e o frontend é apenas listar os usuários e invocar o comando "add".

Ambos os scripts são protegidos por permissões restritivas do sistema de arquivos para evitar modificações.

    
por 13.06.2013 / 07:05
1

Para adicionar contas locais, a conta que você está usando precisa ter direitos administrativos nessa máquina local. Então, infelizmente, ele não pode ser delegado a uma conta normal (ou até mesmo ao PowerUser). Mesmo se você utilizasse o Active Directory, ainda teria que conceder direitos de administrador local ao objeto.

    
por 10.06.2013 / 20:21