Magic Quadrant™ para gerenciamento de acesso privilegiado 2025: Netwrix reconhecida pelo quarto ano consecutivo. Baixe o relatório.

Plataforma
Centro de recursosBlog
Como adicionar, excluir e alterar usuários e grupos locais com o PowerShell

Como adicionar, excluir e alterar usuários e grupos locais com o PowerShell

Sep 18, 2018

Gerenciar usuários e grupos locais com o PowerShell é simplificado através do módulo Microsoft.PowerShell.LocalAccounts, que fornece cmdlets para criar, modificar, desativar ou remover contas e grupos. Os administradores podem automatizar tarefas como adicionar usuários a grupos, redefinir senhas ou revisar membros, enquanto também gerenciam contas vinculadas ao Microsoft e Azure AD-linked accounts. A gestão remota por meio de sessões do PowerShell simplifica ainda mais a administração, embora a auditoria de alterações permaneça essencial para a segurança e conformidade.

Para ajudar os administradores a gerenciar usuários e grupos locais com PowerShell mais facilmente, a Microsoft fornece uma coleção de cmdlets chamada Microsoft.PowerShell.LocalAccounts. Anteriormente, era necessário baixar e importar explicitamente para o PowerShell, além de instalar o Windows Management Framework 5.1; nos sistemas operacionais Windows Server 2016 e Windows 10, a coleção de cmdlets já está incluída como um módulo padrão.

Existem 15 cmdlets no módulo LocalAccounts. Você pode ver a lista completa executando o seguinte comando:

      Get-Command -Module Microsoft.PowerShell.LocalAccounts
      

Image
  • Add-LocalGroupMember — Adicione um usuário ao grupo local
  • Disable-LocalUser —Desativar uma conta de usuário local
  • Enable-LocalUser — Ativar uma conta de usuário local
  • Get-LocalGroup — Visualize as preferências do grupo local
  • Get-LocalGroupMember — Veja a lista de todos os membros do grupo local
  • Get-LocalUser — Visualize as preferências de uma conta de usuário local
  • New-LocalGroup — Criar um novo grupo local
  • New-LocalUser — Criar uma nova conta de usuário local
  • Remove-LocalGroup — Remover um grupo local
  • Remove-LocalGroupMember — Remover um membro de um grupo local
  • Remove-LocalUser — Remover uma conta de usuário local
  • Rename-LocalGroup — Renomear um grupo local
  • Rename-LocalUser — Renomear uma conta de usuário local
  • Set-LocalGroup — Altere as configurações de um grupo local
  • Set-LocalUser — Altere as configurações de conta de um usuário local

Gerenciando Contas de Usuário Locais com PowerShell

Vamos ver como você pode usar esses comandos para realizar tarefas comuns relacionadas à gestão de usuários locais em um computador com Windows 10.

Listando usuários e suas propriedades com PowerShell

Primeiro, vamos obter uma lista de todas as contas de usuário locais na máquina. Usaremos o cmdlet Get-LocalUser:

      Get-LocalUser
      

Image

Como você pode ver, temos duas contas de usuário locais, e uma delas está desativada (aquela que tem “Falso” na coluna “Habilitado”).

Se você deseja exibir todas as propriedades e seus valores para uma conta de usuário local, precisa usar o cmdlet Get-LocalUser com os seguintes parâmetros:

      Get-LocalUser -Name ‘guest’ | Select-Object *
      

Image

Para obter o valor de um atributo específico de uma conta de usuário local, digite o nome dele após o parâmetro Select-Object. Neste exemplo, queremos saber o valor do atributo PasswordLastSet para a conta com o nome de usuário “administrator”:

      Get-LocalUser -Name ‘administrator’ | Select-Object PasswordLastSet
      

Image

Criando um usuário local com PowerShell

Vamos criar um novo usuário com a ajuda do cmdlet New-LocalUser. Este cmdlet pode criar os seguintes tipos de contas de usuário:

  • Contas de usuário local do Windows
  • Contas da Microsoft
  • Contas do Azure Active Directory

Ao criar uma conta de usuário local, nunca digite a senha como texto simples; sempre a converta para uma string segura usando o parâmetro ?AsSecureString ou ?ConvertTo-SecureString. Aqui está o comando para criar uma nova conta de usuário local:

      $UserPassword = Read-Host –AsSecureString
New-LocalUser "Netwrix" -Password $UserPassword -FullName "Netwrix" -Description "CompleteVisibility"
      

Em um ambiente Windows 10, os usuários podem se autorizar sob suas contas Microsoft, então podemos criar uma nova conta de usuário local que se vincula às credenciais de uma conta Microsoft. Use o seguinte script para fazer isso (observe que você não precisa digitar a senha porque ela está armazenada na nuvem da Microsoft):

      New-LocalUser -Name "MicrosoftAccountSomeAccount@outlook.com" -Description "Microsoft Account"
      

Para criar uma conta local que se vincule ao seu Azure AD, use o seguinte comando:

      New-LocalUser -Name "AzureADNetwrix@enterprise.com" -Description "Azure AD Account"
      

Alterando a senha de um usuário local ou propriedades da senha com PowerShell

Para alterar a senha de uma conta de usuário local, precisamos usar o cmdlet Set-LocalUser. Vamos mudar a senha do administrador local:

      $UserPassword = Read-Host –AsSecureString
Set-LocalUser -Name Administrator -Password $UserPassword –Verbose
      

Para definir a opção Password never expires para um usuário local com PowerShell, precisamos executar o seguinte script:

      Set-LocalUser -Name Netwrix –PasswordNeverExpires $False
      

Excluindo uma conta de usuário local com PowerShell

Para remover uma conta de usuário local, você precisa usar o cmdlet Remove-LocalUser:

      Remove-LocalUser -Name Netwrix -Verbose
      

Gerenciando Grupos Locais com PowerShell

Agora vamos voltar nossa atenção dos usuários locais para os grupos locais.

Revisando grupos locais com PowerShell

Primeiro, vamos obter uma lista de todos os grupos no nosso Windows Server:

      Get-LocalGroup
      

Image

Adicionando um grupo local com PowerShell

Agora vamos criar um novo grupo:

      New-LocalGroup -Name 'Netwrix Users' -Description 'Netwrix Users Group'
      

Adicionando usuários a um grupo local com PowerShell

Para adicionar um usuário (ou grupo) a um grupo local, precisamos usar o cmdlet Add-LocalGroupMember. Por exemplo, suponha que queremos adicionar usuários ao grupo local de Administradores, mas não queremos adicioná-los um por um. Vamos adicionar um grupo aos Administradores locais, nomeadamente o grupo “Netwrix Users”:

      Add-LocalGroupMember -Group 'Administrators' -Member ('Netwrix',’Netwrix Users') –Verbose
      

Se o seu computador ou servidor faz parte do domínio, você também pode adicionar contas de domínio e grupos a grupos locais para conceder a esses usuários direitos locais especiais no servidor. Adicione-os usando o formato “DomainNameUser” (para um usuário) ou “DomainNameDomain Group” (para um grupo).

Visualizando a associação de um grupo específico com PowerShell

Agora vamos listar todos os membros de um grupo local específico:

      Get-LocalGroupMember -Group 'Netwrix Users'
      

Image

Como você pode ver, o comando exibe todas as contas locais e grupos que são membros do grupo “Netwrix Users”. Embora apenas contas e grupos locais estejam listados aqui, este comando também mostrará quaisquer usuários e grupos de domínio, bem como todas as contas Microsoft e Azure AD.

Visualizando todos os grupos dos quais um usuário é membro usando PowerShell

Para listar todos os grupos dos quais um usuário específico é membro, executaríamos o seguinte script:

      foreach ($LocalGroup in Get-LocalGroup)
{
if (Get-LocalGroupMember $LocalGroup -Member 'Guest' –ErrorAction SilentlyContinue)
{
$LocalGroup.Name
}
}
      

Image

Removendo um grupo local com PowerShell

Para remover uma conta de usuário local de um grupo, você precisa usar o cmdlet Remove-LocalGroupMember:

      Remove-LocalGroupMember -Group 'Netwrix Users' –Member 'guest'
      

Gerenciando usuários e grupos locais remotamente com PowerShell

Se você deseja gerenciar contas de usuário local e grupos remotamente, precisa se conectar às estações de trabalho remotas via WinRM usando os cmdlets Invoke-Command e Enter-PSSession. Por exemplo, se quisermos exibir a associação do grupo Admin local remotamente em vários computadores, precisamos executar o seguinte script:

      $search = new-pssession -computer pcname1,pcname2,pcname3
invoke-command -scriptblock {Get-LocalGroupMember -Group 'Administrators'} -session $search -hidecomputername | select * -exclude RunspaceID | out-gridview -title "LocalAdmins"
      

As you can see, it is rather easy to manage local groups and users via PowerShell, but to ensure security, compliance and business continuity, it’s essential to audit all these changes. To learn about configuring native auditing, please refer to the Windows Server Auditing Quick Reference Guide.

Compartilhar em

Saiba Mais

Sobre o autor

Asset Not Found

Jeff Melnick

Diretor de Engenharia de Sistemas

Jeff é um ex-Diretor de Engenharia de Soluções Globais na Netwrix. Ele é um blogueiro, palestrante e apresentador da Netwrix há muito tempo. No blog da Netwrix, Jeff compartilha lifehacks, dicas e truques que podem melhorar drasticamente sua experiência em administração de sistemas.