A common pain point in an IT administrator’s career is user profiles. User profiles are a ubiquitous part of a Windows IT pro’s life; especially those that manage virtual desktop environments like Remote Desktop Services (RDS) or Citrix. In this post, I’m going to demonstrate a way you take out your aggression by using PowerShell to delete user profiles (and discover them).
administradores de sistema do Windows têm que lidar com:
- registros de usuário corrompidos
- arquivos que precisam ser compartilhados em todos os perfis de usuário
- descobrir como recriar perfis corrompidos
- … e mais
O que antes era uma experiência frustrante ficou um pouco menos frustrante com o PowerShell. Aqui estão algumas maneiras pelas quais o PowerShell pode facilitar a administração de perfis de usuário do Windows.
Gerencie e Relate o Active Directory, Exchange e o Microsoft 365 com o ManageEngine ADManager Plus. Baixe a avaliação gratuita!
Enumerando Perfis de Usuário
É fácil dar uma olhada nos perfis de usuário no sistema de arquivos em um único computador Windows. Basta procurar na pasta C:\Users. Mas, não apenas você não obtém a imagem completa ao fazer isso, também é problemático devido a possíveis problemas de acesso ao sistema de arquivos. Há uma maneira melhor e é através do WMI ou CIM. No CIM, existe uma classe chamada Win32_UserProfile. Esta classe contém todos os perfis que existem em uma máquina e muitas outras informações úteis que uma simples pasta no sistema de arquivos não informará.
Usando o PowerShell, você pode acessar essa classe CIM com o comando Get-CimInstance
.
Abaixo, estou encontrando o primeiro perfil de usuário no computador local. Você notará muitas informações úteis, como LastUseTime
, SID
e assim por diante.
O cmdlet Get-CimInstance
não só funciona localmente, mas também remotamente. Ao usar o parâmetro ComputerName
, você pode especificar 1, 10 ou 100 computadores remotos diferentes e ele consultará cada um deles felizmente.
Excluindo Perfis de Usuário
Uma vez que você entenda como enumerar perfis de usuário em computadores, pode levar isso um passo adiante e excluir esses perfis de usuário também.
I can’t count how many times I’ve had to delete user profiles because something got corrupted and I just needed the user to log in again and recreate it. At one time, I would simply have the user log off and remove the C:\Users<UserName> folder from the file system. Usually it works, sometimes it didn’t. What I didn’t realize was that I was actually leaving some remnants behind.
A maneira correta de fazer isso é iniciar uma remoção via CIM.
Usando a mesma classe CIM que você acabou de revisar, é possível não apenas visualizar perfis, mas também removê-los completamente. Isso é o mesmo que entrar na caixa de Perfis de Usuário nas configurações do Sistema e clicar no botão Excluir.

Para fazer isso, enumere os perfis de usuário novamente e desta vez aplique um filtro para escolher um único perfil de usuário para remover. Neste caso, remova o perfil de usuário chamado UserA. Você pode fazer isso usando o cmdlet Where-Object
do PowerShell e alguma manipulação de string para pegar o nome da pasta do usuário da propriedade LocalPath
, conforme mostrado abaixo.
Uma vez que você consiga identificar esse único perfil, pode passar essa instância CIM para o cmdlet Remove-CimInstance
para cada objeto retornado pelo Get-CimInstance
. Esse processo irá remover o perfil do usuário do sistema de arquivos e do registro.
Novamente, se desejar estender isso para vários computadores, basta usar o parâmetro ComputerName
no Get-CimInstance
.
Gerencie e Relate o Active Directory, Exchange e o Microsoft 365 com o ManageEngine ADManager Plus. ¡Baixe a avaliação gratuita!
Resumo
Agora você viu uma maneira fácil de enumerar e excluir perfis de usuário do Windows. Se você não estava ciente da classe CIM Win32_UserProfile, pode ter correlacionado a pasta C:\Users<NomeDoUsuário> como o perfil, mas agora você deve saber como excluir a instância CIM Win32_UserProfile.
Você pode ver que há muito mais no perfil do usuário do que uma simples pasta no sistema de arquivos. Use o CIM da próxima vez que precisar consultar ou excluir perfis de usuário de computadores com Windows em seu ambiente.
Source:
https://adamtheautomator.com/powershell-delete-user-profile/