Gestión de usuarios y grupos en PowerShell
🔎 ¿Qué son las cuentas de usuario?
-
⚙️ Cuentas de servicio → usadas por servicios del sistema.
-
🧩 Cuentas integradas → vienen por defecto:
-
Administrator
-
Guest
-
DefaultAccount
-
WDAGUtilityAccount
-
-
🏠 Usuarios locales → existen solo en ese equipo.
-
🌐 Usuarios de dominio → pueden iniciar sesión en cualquier equipo del dominio.
🏢 Breve intro a Active Directory (AD)
-
📂 AD = servicio de directorio centralizado para:
👉 usuarios, equipos, grupos, dispositivos, file shares, GPOs, etc. -
🔗 En hosts unidos al dominio → se gestionan con el módulo ActiveDirectory en PowerShell.
👥 ¿Qué son los grupos?
-
Agrupan cuentas para dar permisos en bloque (más fácil que asignarlos a cada usuario).
-
Tipos:
-
🏠 Locales
-
🌐 De dominio
-
🔁 Anidados (pueden contener otros grupos y heredar permisos).
-
🛠️ Cmdlets útiles (PowerShell)
🏠 Locales
-
Get-LocalUser→ listar usuarios -
New-LocalUser→ crear usuario -
Set-LocalUser→ modificar usuario -
Remove-LocalUser→ eliminar usuario -
Get-LocalGroup→ listar grupos -
Get-LocalGroupMember→ ver miembros -
Add-LocalGroupMember→ agregar a grupo -
Remove-LocalGroupMember→ quitar de grupo
🌐 Dominio (AD – requiere módulo ActiveDirectory)
-
Get-ADUser,New-ADUser,Set-ADUser,Remove-ADUser -
Get-ADGroup,Get-ADGroupMember,Add-ADGroupMember,Remove-ADGroupMember
✅ Ejemplos básicos
🏠 Usuarios locales
📋 Listar usuarios:
Get-LocalUser
➕ Crear usuario sin contraseña:
New-LocalUser -Name "JLawrence" -NoPassword
🔑 Establecer contraseña segura:
$Password = Read-Host -AsSecureString
Set-LocalUser -Name "JLawrence" -Password $Password -Description "CEO EagleFang"
👥 Ver miembros de grupo:
Get-LocalGroupMember -Name "Users"
➕ Añadir usuario a grupo:
Add-LocalGroupMember -Group "Remote Desktop Users" -Member "JLawrence"
🌐 Active Directory (dominio)
🧩 Instalar RSAT (para usar cmdlets AD):
Get-WindowsCapability -Name RSAT* -Online | Add-WindowsCapability -Online
📋 Listar todos los usuarios AD:
Get-ADUser -Filter *
👤 Obtener usuario específico:
Get-ADUser -Identity TSilver
🔎 Buscar por atributo (ej. email):
Get-ADUser -Filter {GivenName -like 'Robert'}
Get-ADUser -Filter {Surname -like 'Flag'}

➕ Crear usuario AD:
New-ADUser -Name "MTanaka" -Surname "Tanaka" -GivenName "Mori" `
-Office "Security" -OtherAttributes @{'title'="Sensei";'mail'="MTanaka@greenhorn.corp"} `
-AccountPassword (Read-Host -AsSecureString "AccountPassword") -Enabled $true
✏️ Modificar atributos:
Set-ADUser -Identity MTanaka -Description "Sensei to Security Analyst's Rocky..."
👥 Ver miembros de un grupo:
Get-ADGroupMember -Identity "Domain Admins"
➕ Agregar usuario a grupo de dominio:
Add-ADGroupMember -Identity "HR Team" -Members "MTanaka"
❗ Riesgos y buenas prácticas
-
🪪 Usuarios mal configurados: contraseñas débiles, sin expiración, nulas.
-
🔓 Grupos mal gestionados: membresía excesiva o anidada → privilegios inesperados.
-
🕵️♀️ Pentesters y admins deben enumerar usuarios y grupos → inventario, auditoría y detectar vectores de escalada lateral o privilegios.