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).
Los administradores del sistema de Windows tienen que lidiar con:
- registros de usuario corruptos
- archivos que necesitan ser compartidos entre todos los perfiles de usuario
- averiguar cómo recrear perfiles corruptos
- … y más
Lo que alguna vez fue una experiencia frustrante ha mejorado un poco con PowerShell. Aquí hay algunas formas en que PowerShell puede facilitar la administración de perfiles de usuario de Windows.
Administre e informe sobre Active Directory, Exchange y Microsoft 365 con ManageEngine ADManager Plus. ¡Descargue la versión de prueba gratuita!
Enumeración de Perfiles de Usuario
Es fácil echar un vistazo a los perfiles de usuario en el sistema de archivos en un único equipo Windows. Simplemente mire en la carpeta C:\Usuarios. Pero no solo no obtiene la imagen completa al hacer esto, sino que también es problemático debido a posibles problemas de acceso al sistema de archivos. Hay una mejor manera y es a través de WMI o CIM. En CIM, existe una clase llamada Win32_UserProfile. Esta clase contiene todos los perfiles que existen en una máquina y mucha otra información útil que una simple carpeta del sistema de archivos no le dirá.
Usando PowerShell, puede acceder a esta clase CIM con el comando Get-CimInstance
.
A continuación, estoy buscando el primer perfil de usuario en la computadora local. Notarás muchos datos útiles como LastUseTime
, SID
y así sucesivamente.
El cmdlet Get-CimInstance
no solo funciona localmente sino también de forma remota. Al utilizar el parámetro ComputerName
, puedes especificar 1, 10 o 100 computadoras remotas diferentes y consultará cada una de ellas sin problemas.
Eliminando Perfiles de Usuario
Una vez que entiendas cómo enumerar los perfiles de usuario en las computadoras, puedes llevarlo un paso más allá y también eliminar esos perfiles de usuario.
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.
La forma correcta de hacer esto es iniciar una eliminación a través de CIM.
Utilizando la misma clase CIM que acabas de repasar, es posible no solo ver perfiles sino también eliminarlos por completo. Esto es lo mismo que entrar en la ventana Perfiles de Usuario en la configuración del sistema y hacer clic en el botón Eliminar.

Para hacer esto, enumera los perfiles de usuario nuevamente y esta vez aplica un filtro para elegir un solo perfil de usuario para eliminar. En este caso, elimina el perfil de usuario llamado UserA. Puedes hacer esto utilizando el cmdlet Where-Object
de PowerShell y alguna manipulación de cadenas para obtener el nombre de la carpeta de usuario de la propiedad LocalPath
como se muestra a continuación.
Una vez que puedas reducir ese único perfil, puedes pasar esa instancia CIM al cmdlet Remove-CimInstance
para cada objeto que devuelve Get-CimInstance
. Este proceso eliminará el perfil de usuario del sistema de archivos y del registro.
De nuevo, si deseas extender esto a varias computadoras, simplemente utiliza el parámetro ComputerName
en Get-CimInstance
.
Administra e informa sobre Active Directory, Exchange y Microsoft 365 con ManageEngine ADManager Plus. ¡Descarga la prueba gratuita!
Resumen
Ahora has visto una manera fácil de enumerar y eliminar perfiles de usuario de Windows. Si no estabas al tanto de la clase CIM Win32_UserProfile, es posible que hayas estado relacionando la carpeta C:\Users<Nombre de Usuario> como el perfil, pero ahora debes saber que debes eliminar la instancia CIM Win32_UserProfile.
Puedes ver que hay mucho más en el perfil de usuario que una simple carpeta del sistema de archivos. Utiliza CIM la próxima vez que necesites consultar o eliminar perfiles de usuario de las computadoras con Windows en tu entorno.
Source:
https://adamtheautomator.com/powershell-delete-user-profile/