Cómo administrar usuarios desde PowerShell: guía completa y paso a paso

Última actualización: 01/07/2025
Autor: Isaac
  • PowerShell ofrece un control total y automatización avanzada para gestionar usuarios y grupos tanto locales como de dominio y plataformas en la nube.
  • Los módulos y cmdlets permiten crear, modificar, consultar o eliminar usuarios de manera individual o masiva, optimizando procesos y minimizando errores.
  • La integración con servicios como Active Directory, Microsoft 365 y SharePoint permite gestionar identidades a gran escala y en entornos híbridos.

Administrar usuarios PowerShell

La administración de usuarios a través de PowerShell se ha convertido en una herramienta fundamental y versátil tanto para entornos empresariales como para usuarios avanzados que buscan gestionar cuentas de forma eficiente, especialmente en servidores y estaciones de trabajo Windows. PowerShell permite automatizar tareas, ahorrar tiempo y obtener un control preciso de usuarios, grupos y permisos usando tanto módulos locales como para Active Directory o servicios en la nube.

Con este artículo aprenderás en profundidad cómo administrar usuarios desde PowerShell en distintas situaciones, abarcando desde la gestión local hasta escenarios de dominio, pasando por la automatización masiva y la interacción con plataformas como Microsoft 365 y SharePoint. Además, conocerás las mejores prácticas, comandos esenciales y consejos para optimizar la administración sin necesidad de interfaz gráfica.

¿Qué es PowerShell y por qué es clave para la administración de usuarios?

PowerShell es un entorno de automatización y scripting, desarrollado por Microsoft, que combina una línea de comandos propia con un potente lenguaje de scripting orientado a objetos. Una de sus mayores ventajas es estar integrado profundamente en el sistema operativo Windows, permitiendo acceder y manipular objetos del sistema, usuarios, grupos y recursos de red empleando los llamados cmdlets.

En muchas organizaciones y centros de datos, especialmente aquellos que priorizan el rendimiento y la seguridad, el manejo mediante CLI se vuelve imprescindible. La ausencia de interfaz gráfica minimiza la carga en el sistema y favorece la automatización de tareas repetitivas.

Módulos y Cmdlets de PowerShell para la administración de usuarios

La administración de usuarios depende en gran parte de los cmdlets específicos y módulos que tengas instalados en tu sistema. PowerShell estructura sus funcionalidades en módulos, entre los principales destacan:

  • Microsoft.PowerShell.LocalAccounts – Para gestionar usuarios y grupos locales en el equipo.
  • ActiveDirectory – Para gestionar usuarios, grupos y recursos en dominios de Active Directory.
  • AzureAD y Microsoft.Online – Pensados para la gestión de usuarios en la nube, como Microsoft 365 o Azure AD.
  • SharePoint Online Management Shell – Permite administrar usuarios y grupos en entornos de SharePoint online.
  Cómo activar y configurar el Toque Trasero en Xiaomi HyperOS

Cada módulo expone una serie de cmdlets con sintaxis verbo-sustantivo, por ejemplo, New-LocalUser o Get-ADUser. Estos comandos te permiten crear, consultar, modificar o eliminar usuarios y grupos según tu entorno.

Preparación inicial: requisitos, instalación y actualización

powershell

Antes de comenzar a administrar usuarios, asegúrate de cumplir algunos prerrequisitos básicos:

  • Asegúrate de que tu versión de PowerShell sea compatible, usando Get-Host o $PSVersionTable.PSVersion.
  • Actualiza la ayuda de PowerShell con Update-Help para disponer de documentación actualizada.
  • Instala los módulos necesarios según tus necesidades (por ejemplo, Install-Module -Name LocalAccount o Import-Module ActiveDirectory para dominios).
  • Ejecuta la consola como administrador para tener privilegios completos.

Importar y verificar módulos:

  • Get-Module -ListAvailable -Name Microsoft.Powershell.LocalAccounts para ver si el módulo de cuentas locales está instalado.
  • Import-Module ActiveDirectory para cargar el módulo de administración de AD.

Administración de usuarios locales con PowerShell

Cuando se trata de gestionar cuentas de usuario que existen solo en el propio equipo, el módulo LocalAccounts es tu mejor aliado. Aquí tienes los procedimientos clave para la gestión local:

  • Listar todos los usuarios locales: Get-LocalUser
  • Consultar una cuenta específica: Get-LocalUser -Name «nombreUsuario»
  • Crear un usuario local:

Para crear un usuario sin contraseña:

New-LocalUser «NuevoUsuario»

Para asociar una contraseña de manera segura:

$Password = Read-Host -AsSecureString
New-LocalUser "Usuario2" -Password $Password -FullName "Nombre completo" -Description "Descripción del usuario"

Asignar a grupos: Añadir un usuario a un grupo como administradores:

Add-LocalGroupMember -Group "Administradores" -Member "Usuario2"
  • Eliminar usuario: Remove-LocalUser «Usuario2»
  • Renombrar usuario: Rename-LocalUser -Name «Usuario2» -NewName «NuevoNombre»
  • Modificar atributos: Set-LocalUser -Name «Usuario2» -Description «Nuevo Rol»
  • Habilitar/Deshabilitar cuenta: Enable-LocalUser / Disable-LocalUser -Name «Usuario2»
  • Cambiar contraseña:
$password = Read-Host -AsSecureString
Get-LocalUser -Name 'Usuario2' | Set-LocalUser -Password $password

Gestión de grupos locales

PowerShell también permite la gestión de grupos de usuarios locales para otorgar permisos o segmentar usuarios:

  • Listar grupos: Get-LocalGroup
  • Crear grupo: New-LocalGroup -Name «Empleados» -Description «Grupo empleados»
  • Añadir miembros: Add-LocalGroupMember -GroupName Empleados -Member Usuario2
  • Eliminar miembros: Remove-LocalGroupMember -GroupName Empleados -Member Usuario2
  • Eliminar grupo: Remove-LocalGroup -Name Empleados

Administración de usuarios en Active Directory (AD DS) con PowerShell

La gestión de usuarios en entornos empresariales suele requerir controlar cuentas dentro de un dominio, es decir, bajo Active Directory Domain Services. El módulo ActiveDirectory amplía enormemente las posibilidades:

  Mensajes privados de TikTok : ¿Cómo habilitarla? ¿Cómo activar la mensajería privada en TikTok?

Consultas informativas y auditorías

  • Ver información del bosque: Get-ADForest
  • Información del dominio: Get-ADDomain
  • Controladores de dominio: Get-ADDomainController

Se pueden filtrar campos y personalizar la salida usando pipes y selectores:

Get-ADDomain | Select Name, DomainMode | Format-Table

Consultar todos los usuarios: Get-ADUser -Filter *

Consultar detalles de un usuario: Get-ADUser «nombreusuario» -Properties *

Gestión de usuarios en el dominio

  • Crear usuario en AD:
$userpassword = ConvertTo-SecureString -AsPlainText -Force -String "PASSWORD"
New-ADUser -Name "Usuario" -AccountPassword $userpassword

Puedes añadir más parámetros como -Description, -Enabled $true y otros atributos personalizados.

  • Eliminar usuario en AD: Remove-ADUser -Identity «CN=Usuario,CN=Users,DC=dominio,DC=com»
  • Habilitar/deshabilitar cuenta: Enable-ADAccount / Disable-ADAccount -Identity nombreusuario
  • Duplicar cuenta existente como plantilla:
New-ADUser -Name NuevoUsuario -GivenName "Nombre" -Surname "Apellido" -Path "CN=Users,DC=dominio,DC=local" -Instance PlantillaUsuario
  • Modificar atributos de usuario: Set-ADUser -Identity nombreusuario -Description «Descripción nueva»
  • Cambiar contraseña: Set-ADAccountPassword nombreusuario (te pedirá la contraseña, o usa -Reset para forzar cambio sin saber la anterior).
  • Desbloquear cuentas: Unlock-ADAccount nombreusuario
  • Eliminar varios usuarios:
foreach ($i in $listaUsuarios) {
  Remove-ADUser $i.user
}

Creación y eliminación masiva de usuarios en AD y local

Automatizar procesos es imprescindible cuando se trata de grandes volúmenes. Esto se realiza generalmente con archivos .csv y scripts. La estructura básica del csv incluye cabeceras como nombre,contra o user,password.

$usuarios=Import-Csv -Path c:\...\usuarios.csv
foreach ($i in $usuarios){
  $clave=ConvertTo-SecureString $i.contra -AsPlainText -Force
  New-LocalUser $i.nombre -Password $clave -AccountNeverExpires -PassNeverExpires
  Add-LocalGroupMember -Group usuarios -Member $i.nombre
}

Para eliminar usuarios en masa:

foreach ($i in $usuarios){
  Remove-LocalUser $i.nombre
}

En entornos de Active Directory, se pueden crear scripts similares para New-ADUser y Remove-ADUser tras importar el archivo csv con los parámetros necesarios.

Gestión de usuarios y grupos en Microsoft 365, Azure AD y SharePoint Online

La administración de usuarios en la nube ha cobrado especial relevancia gracias a la popularidad de servicios como Microsoft 365, Azure AD y SharePoint Online. En estos entornos, los cmdlets y módulos específicos permiten un control avanzado:

  • Conexión a Microsoft 365 y Azure: Antes de ejecutar cualquier operación, es necesario autenticarse y conectar los módulos de PowerShell adecuados.
  • Creación y gestión de usuarios: Cmdlets como New-MsolUser, Set-MsolUser, Remove-MsolUser para Microsoft Online.
  • Gestión de licencias, roles y grupos: Se puede asignar licencias (Set-MsolUserLicense), modificar roles, añadir usuarios a grupos, o manipular permisos desde la consola.
  Cómo cambiar el brillo de la pantalla en Windows 10

Para SharePoint Online:

  • Listado de sitios: Get-SPOSite
  • Listado de grupos y usuarios: Get-SPOSiteGroup y Get-SPOUser
  • Añadir usuario a grupo: Add-SPOUser -Group «Grupo» -LoginName «usuario@dominio.com» -Site «https://dominio.sharepoint.com/sites/sitio»
  • Eliminar usuario: Remove-SPOUser -LoginName «usuario@dominio.com» -Site «https://dominio.sharepoint.com/sites/sitio» -Group «grupo»
  • Automatización con archivos CSV: Importa usuarios y grupos de forma masiva mediante Import-Csv combinado con los cmdlets Add-SPOUser y New-SPOSiteGroup.

Personalización y uso avanzado de cmdlets

Uno de los puntos fuertes de PowerShell es su carácter orientado a objetos. Puedes manipular propiedades, filtrar listados, y adaptar scripts a casi cualquier necesidad:

  • Filtrar usuarios por nombre, dominio o grupo:
Get-ADUser -Filter 'Name -like "jio*"' | Select Name
  • Modificar múltiples atributos de usuario de una sola vez:
Set-ADUser -Identity usuario -Company "Nombre Empresa" -Department "Soporte" -Office "Oficina Central"
  • Copiar atributos de una cuenta a otra:
$origen=Get-ADUser -Identity UsuarioPlantilla -Properties Company, Office
Set-ADUser -Identity UsuarioDestino -Company $($origen.Company) -Office $($origen.Office)

Automatización de informes y auditoría

PowerShell permite extraer toda clase de información y generar informes personalizados, lo que es ideal para auditorías y control de cambios:

  • Generar informe de usuarios de SharePoint:
Get-SPOSite | ForEach {Get-SPOUser –Site $_.Url} | Format-Table -Wrap -AutoSize | Out-File c:\UsersReport.txt -Force -Width 360 -Append
  • Auditoría de altas y bajas de usuarios: Usa scripts que recorran el dominio o los archivos CSV para comprobar usuarios añadidos/eliminados en un periodo de tiempo.

Deja un comentario