Olá pessoal,
Minha área não é e nunca foi PowerShell, mas aqui onde trabalho a equipe administra mais de 500 servidores e sabe-se lá quantas instâncias e estávamos com a necessidade de criar os usuários locais no Windows Server para todos os membros da equipe de DBA.
Com um pouco de pesquisa na internet e a ajuda do meu grande amigo Laerte Junior(blog) eu consegui montar um script que cria facilmente os usuários locais e adiciona no grupo de Administrador. Eu testei esse script nas versões Windows Server 2008/R2 e Windows Server 2012 e funcionou perfeitamente.
Segue o script:
param($username,$password) $objOu = [ADSI]"WinNT://localhost" $objUser = $objOU.Create("User", "$username") $objUser.setpassword($password) $objUser.SetInfo() $objUser.PasswordExpired = 0 $objUser.SetInfo() $objUser.UserFlags.value = $objUser.UserFlags.value -bor 0x10000 $objUser.SetInfo() $group = [ADSI]"WinNT://localhost/Administrators,group" $group.Add("WinNT://$username,user") $Account = [ADSI]"WinNT://localhost/$username,user" if($Account.Name) { Write-Host "Usuário $username criado com sucesso..." }
Se desejarem que o usuário troque a senha no primeiro logon basta substituir a linha:
$objUser.PasswordExpired = 0
Pela linha:
$objUser.PasswordExpired = 1
Para executar esse Script eu criei um batch para facilitar a criação de vários usuários.
Segue o batch:
powershell Set-ExecutionPolicy RemoteSigned powershell createuser.ps1 NomeUsuario1 Senha1 powershell createuser.ps1 NomeUsuario2 Senha2
Lembrem-se de colocar o arquivo batch e o ps1 no mesmo diretório e executar o batch como administrador(Run as Administrator)
Espero que isso ajudem vocês.
Abraços do Japa…