viernes, 17 de abril de 2026

WINDOWS. Admincount. Analisis

 

Propósito:

El objetivo es garantizar que no existan cuentas de administrador no autorizadas en Active Directory.

Se realiza una comprobación en las cuentas que no son de administrador para identificar si tienen el atributo `admincount` activado. Si lo tienen, significa que esta cuenta, que no debería ser de administrador, ha recibido derechos de administrador en el pasado. Esto suele ocurrir cuando un administrador otorga derechos temporales a una cuenta normal fuera de proceso.

Se deben revisar estas cuentas, especialmente en lo que respecta a su actividad anterior, y eliminar el atributo `admincount`. Para identificar las cuentas detectadas por esta regla, recomendamos ejecutar el siguiente comando de PowerShell: `get-adobject -ldapfilter "(admincount=1)"`.

Pasos

 PASO 0: Listar quien cumple esta condición

COMMANDO:  get-adobject -ldapfilter "(admincount=1)"


 PASO 1 — Confirmar que el usuario YA NO es admin

COMMANDO:  Get-ADUser usuarioX -Properties MemberOf | Select -ExpandProperty MemberOf


 Verifica que NO esté en:
  • Domain Admins
  • Enterprise Admins
  • Schema Admins
  • Account Operators
  • Backup Operators
  • Administrators (builtin)
  • Print Operators
  • Server Operators
PASO 2 — Quitar el atributo adminCount

COMMANDO: Set-ADUser usuarioX -Clear adminCount



by GoN | Published: April 2026 | Last Updated:

jueves, 16 de abril de 2026

WINDOWS. GPO. Grupo administradores locales

 Propósito


Hacer un GPO que se aplique en las estaciones de trabajo y que elimine/vacíe todos los usuarios y grupos  que hay en el grupo de administradores locales, y en este caso solo deje al usuario administrador local del PC. 
 
Yo tengo combinada esta GPO con el LAPS para reforzar su seguridad, junto con la GPO que los administradores de dominio no pueden hacer logon en los PCs.

Pasos


Las GPO se aplican cada 90 minutos, si alguien consiguiese añadirse al grupo de administradores locales del PC, a los 90 minutos se borraría.


by GoN | Published: April 2026 | Last Updated:

miércoles, 15 de abril de 2026

WINDOWS. GPO. Denegar logon y RDP a los administradores de dominio en las estaciones de trabajo

 

Siguiendo las BP, vamos a crear una GPO que bloquea el acceso de los administradores de dominio para que puedan hacer RDP o logon en los PCS, así evitamos movimientos laterales y que la contraseña de un administrador se pueda quedar en el cache de alguna estación de trabajo.


Como seguro, para evitar impactos no deseado, por si se mete en la OU un servidor o se asigna la GPO a una OU de Servidores, añado un filtro para que solo se aplique a estaciones de trabajo.






Con que combinarlo: Yo tengo LAPS en todos los PCs, es una red de unos 1000 PCs, el único usuario que tiene permisos de administrador en los PCs es el administrador local, si lo unimos a lo que comento en este artículo y los tenemos bien parcheados el nivel de protección en nuestros PCs se incrementa considerablemente.

by GoN | Published: April 2026 | Last Updated:
 

lunes, 13 de abril de 2026

WINDOWS. LAPS. Check PCs


Propósito

A veces, viendo que en nuestro AD nuestros PCs tienen asignada una contraseña de LAPS creemos erróneamente que todo está funcionando bien. Hay que verificar alguna cosas más. que aquí explicaré, para tener más control
 
Vamos a planificar un script que no solo compruebe si un PC tiene contraseña de LAPS en el AD, sino que esta contraseña esté rotando cada 30 días como marca la GPO.

Pasos

La ejecución será sencilla, el resultado lo enviará por email.

 

Nos llegará un email con este formato:

 

No solo pone en el cuerpo del email los PCs encontrados, sino que los envía en un fichero adjunto para poder manipularlo. Es recomendable ejecutarlo entre 15 días y un mes, para ver si salen algún caso, tal como muestro en los pantallazos. Es evidente que si el PC no se enciende o no contacta con el AD, no se le puede cambiar la contraseña.

 

El código: 

<#
.DESCRIPCION
Script de auditoria LAPS en Active Directory.
Detecta equipos con LAPS activo cuya contrasena local no se ha rotado
en mas de 30 dias. El resultado se muestra en el cuerpo del email en
formato HTML  y se adjunta en CSV.

.DISENO
Entorno enterprise, solo lectura, sin impacto.
#>

Write-Host "=== AUDITORIA LAPS ===" -ForegroundColor Cyan

# ==========================
#  VARIABLES DEL USUARIO
# ==========================
$SMTPServer = "smtp.midominio.com"
$SMTPPort   = 25
$From       = "HD@midominio.com"
$To         = "Infra@midominio.com"
$Subject    = ""

# ==========================
#  RUTAS Y FECHAS
# ==========================
$scriptPath = Split-Path -Parent $MyInvocation.MyCommand.Path
$timestamp  = Get-Date -Format "yyyyMMdd_HHmm"
$csvFile    = "$scriptPath\LAPS_Auditoria_$timestamp.csv"

# ==========================
#  OBTENER EQUIPOS AD
# ==========================
$computers = Get-ADComputer -Filter * -Properties `
    msLAPS-PasswordExpirationTime,
    LastLogonDate,
    DistinguishedName,
    Enabled

$results = @()

foreach ($pc in $computers) {

    if (-not $pc."msLAPS-PasswordExpirationTime") { continue }

    $exp = [DateTime]::FromFileTimeUtc($pc."msLAPS-PasswordExpirationTime")
    $dias = (New-TimeSpan -Start $exp -End (Get-Date)).Days
    if ($dias -le 30) { continue }

    $ou = ($pc.DistinguishedName -split ",",2)[1]
    $estado = if ($pc.Enabled) { "Habilitado" } else { "Deshabilitado" }

    $results += [PSCustomObject]@{
        Equipo             = $pc.Name
        OU                 = $ou
        Equipo_Habilitado  = $estado
        LAPS_Activo        = "Si"
        Ultima_Rotacion    = $exp
        Dias_Sin_Cambiar   = $dias
        Ultima_Conexion    = $pc.LastLogonDate
    }
}

$resultsSorted = $results | Sort-Object Dias_Sin_Cambiar -Descending
$TotalEquipos = $resultsSorted.Count

# ==========================
#  EXPORTAR CSV
# ==========================
$resultsSorted | Export-Csv -Path $csvFile -NoTypeInformation -Encoding UTF8

# ==========================
#  GENERAR TABLA HTML
# ==========================
$HtmlRows = ""

foreach ($r in $resultsSorted) {

    $FechaRotacionHtml = if ($r.Ultima_Rotacion) {
        $r.Ultima_Rotacion.ToString("dd/MM/yyyy")
    } else {
        "N/D"
    }

    $FechaConexionHtml = if ($r.Ultima_Conexion) {
        $r.Ultima_Conexion.ToString("dd/MM/yyyy")
    } else {
        "Nunca"
    }

    $HtmlRows += "<tr>
        <td>$($r.Equipo)</td>
        <td>$($r.Equipo_Habilitado)</td>
        <td>$($r.Dias_Sin_Cambiar)</td>
        <td>$FechaRotacionHtml</td>
        <td>$FechaConexionHtml</td>
        <td>$($r.OU)</td>
    </tr>"
}

# ==========================
#  EMAIL HTML
# ==========================
$Subject = "$(Get-Date -Format 'yyyy-MM-dd - HHmm') - Listado equipos LAPS sin rotacion ($TotalEquipos)"

$Body = @"
<html>
<head>
<style>
body { font-family: Arial; font-size: 12px; }
table { border-collapse: collapse; width: 100%; }
th, td { border: 1px solid #999; padding: 5px; }
th { background-color: #eeeeee; }
</style>
</head>
<body>

<h2>Auditoria LAPS Active Directory</h2>

<p>
Equipos con LAPS activo y mas de 30 dias sin cambio de contrasena local.
</p>

<ul>
<li>Total equipos listados: <b>$TotalEquipos</b></li>
<li>Fecha ejecucion: <b>$(Get-Date -Format "dd/MM/yyyy")</b></li>
</ul>

<table>
<tr>
<th>Equipo</th>
<th>Estado</th>
<th>Dias sin cambiar</th>
<th>Ultima rotacion</th>
<th>Ultima conexion</th>
<th>OU</th>
</tr>
$HtmlRows
</table>

<p>
Se adjunta el fichero CSV con el detalle completo.
</p>

</body>
</html>
"@

Send-MailMessage `
    -From $From `
    -To $To `
    -Subject $Subject `
    -Body $Body `
    -BodyAsHtml `
    -SmtpServer $SMTPServer `
    -Port $SMTPPort `
    -Attachments $csvFile

Write-Host "Email enviado correctamente" -ForegroundColor Green
Write-Host "=== FIN DE AUDITORIA ===" -ForegroundColor Cyan 
 
 
by GoN | Published: April 2026 | Last Updated:
 

sábado, 14 de marzo de 2026

WINDOWS. PS. Hosts sin conectar al dominio.

 Propósito

Una opción más para mantener nuestro Active Directory al día es asegurarnos de que no existan equipos que ya no estén en uso. Deberíamos procurar que los PCs estén lo más actualizados posible: últimas actualizaciones, parches, configuraciones de seguridad (GPOs), patrones de antivirus, etc. Además, un equipo que no se conecta o que ya no está activo sigue consumiendo licencias innecesariamente.

Para tener un control mínimo, he preparado este script que se ejecuta una vez por semana y informa de los equipos que llevan más de 30 y 60 días sin contactar con nuestro AD.

Pasos

# ==========================

#  VARIABLES DEL USUARIO

# ==========================

$SMTPServer = "smtp.com"

$SMTPPort   = 25

$From       = "HelpDesk@Miempresa.com"

$To         = "alertas@Miempresa.com"

$Subject    = "OU Computers que llevan tiempo sin conectar"

 # ==========================

#  CONFIGURACIÓN

# ==========================

Import-Module ActiveDirectory

 

$Hoy = (Get-Date)

$Dias30 = $Hoy.AddDays(-30)

$Dias60 = $Hoy.AddDays(-60)

 # ==========================

#  OBTENER EQUIPOS AD

# ==========================

$Equipos = Get-ADComputer -Filter * -Properties Description, LastLogonTimestamp, CanonicalName |

    Select-Object Name,

                  Description,

                  @{Name="OU";Expression={($_.CanonicalName -replace "^[^/]+/","")}},

                  @{Name="LastLogon";Expression={[DateTime]::FromFileTime($_.LastLogonTimestamp)}}

 # ==========================

#  FILTRADOS

# ==========================

$Entre30y60 = $Equipos | Where-Object { $_.LastLogon -le $Dias30 -and $_.LastLogon -gt $Dias60 }

$Mas60      = $Equipos | Where-Object { $_.LastLogon -le $Dias60 }

 # ==========================

#  GENERAR TABLAS HTML

# ==========================

function Convert-ToHtmlTable {

    param($Data, $Titulo)

 

    if ($Data.Count -eq 0) {

        return "<h3>$Titulo</h3><p>No hay equipos en este rango.</p>"

    }

 

    $Data | Select-Object Name, Description, OU, LastLogon |

        ConvertTo-Html -Fragment -PreContent "<h3>$Titulo</h3>"

}

 $Html30_60 = Convert-ToHtmlTable -Data $Entre30y60 -Titulo "Equipos sin conectar entre 30 y 60 dias"

$Html60    = Convert-ToHtmlTable -Data $Mas60 -Titulo "Equipos sin conectar mas de 60 dias"

 # ==========================

#  EMAIL HTML

# ==========================

$Body = @"

<html>

<head>

<style>

table { border-collapse: collapse; width: 100%; }

th, td { border: 1px solid #999; padding: 6px; text-align: left; }

th { background-color: #f2f2f2; }

h3 { font-family: Arial; }

</style>

</head>

<body>

<h2>Informe de equipos que llevan tiempo sin conectar</h2>

<p>Generado desde SRVDC04 $(Get-Date -Format "dd/MM/yyyy HH:mm")</p>

 

$Html30_60

<br>

$Html60

 

</body>

</html>

"@

 # ==========================

#  ENVÍO DEL EMAIL

# ==========================

Send-MailMessage -From $From -To $To -Subject $Subject -Body $Body -BodyAsHtml `

    -SmtpServer $SMTPServer -Port $SMTPPort


El resultado vendría a ser un email así: 



by GoN | Published: Mar 2026 | Last Updated:

 

martes, 3 de marzo de 2026

WINDOWS. GPO. Reinicio rapido de Windows.

Propósito

Qué hace realmente el Inicio rápido y por qué afecta a las GPO
Cuando el Inicio rápido está activado, Windows no realiza un apagado completo. En su lugar:
  • Cierra la sesión del usuario.
  • Hiberna el kernel y los drivers.
  • Guarda el estado en hiberfil.sys.
  • Al encender, no ejecuta un arranque completo, sino una restauración parcial.
Esto implica:
  • No se procesan todas las GPO de equipo.
  • No se ejecutan scripts de Startup.
  • No se reinician servicios críticos.
  • No se aplican extensiones de GPO que requieren arranque completo (por ejemplo, ciertas configuraciones de seguridad, firewall, drivers, etc.).
En cambio, un reinicio sí hace un arranque completo y aplica todas las GPO.

Por eso, si lo que queremos es apagar/encender = reiniciar, debemos desactivar el Inicio rápido.

Pasos

Crear una GPO "FastStartup_Disable"




                                                                                        by GoN | Published: Mar 2026 | Last Updated:

viernes, 13 de febrero de 2026

WINDOWS. AD. Estructura OUs basada en Tiering Model

 

Propósito

Voy a explicar una manera de organizar la estructura de OUs en Active Directory para simplificar la gestión y ofrecer una visibilidad mucho más profesional. Existen muchas formas de hacerlo, pero este enfoque me parece un punto de partida sólido y eficaz.

Si aplicamos correctamente los permisos, podremos elevar el nivel de seguridad de nuestro AD de forma significativa.


1. Introducción y modelo de seguridad por niveles

1.1. Objetivo del diseño

  • Asegurar el AD mediante el Modelo de Seguridad por Niveles (Tiering Model).
  • Separar claramente:
    • Identidad e infraestructura (Tier0).
    • Servidores y aplicaciones (Tier1).
    • Usuarios y equipos cliente (Tier2).
  • Delegar por grupos, nunca por usuario.
  • Evitar escaladas de privilegios entre Tiers.
  • No usar OUs por sede ni por departamento (salvo excepciones puntuales).

1.2. Modelo de Seguridad por Niveles (Tiering Model)

  • Tier0:
    • Qué es: Control total del bosque/dominio.
    • Ejemplos: Domain Controllers, PKI, ADFS, Azure AD Connect.
    • Cuentas Tier0: Domain Admins, Enterprise Admins, cuentas de servicio de identidad.
    • Reglas de inicio de sesión:
      • Solo inician sesión en equipos Tier0 (DCs, servidores de identidad).
      • Nunca en servidores Tier1 ni PCs Tier2.
  • Tier1:
    • Qué es: Servidores de negocio y aplicaciones.
    • Ejemplos: File servers, SQL, aplicaciones corporativas.
    • Cuentas Tier1: Admins de servidores, cuentas de servicio de aplicaciones.
    • Reglas de inicio de sesión:
      • Solo inician sesión en servidores Tier1.
      • Nunca en DCs (Tier0) ni PCs (Tier2).
  • Tier2:
    • Qué es: Usuarios finales y equipos cliente.
    • Ejemplos: Usuarios estándar, VIP, PCs, portátiles, equipos compartidos.
    • Cuentas Tier2: Usuarios, helpdesk, desktop support.
    • Reglas de inicio de sesión:
      • Solo inician sesión en PCs Tier2.
      • Nunca en servidores Tier1 ni DCs Tier0.

1.3. Regla general de pertenencia de grupos

  • Un grupo pertenece al Tier del recurso más alto al que da acceso.
    • Si da acceso a un servidor → Tier1.
    • Si da acceso a un DC → Tier0.
    • Si da acceso a un recurso de usuario final (PC, impresoras, apps cliente) → Tier2.

2. Esquema de OUs



En T1, dentro de servidores se puedría subagrupar por grupos de servicios tipos SQLs, IIS, File Servers, etc..

En T2, hay muchas maneras de agrupar los PCs, por sedes, por zonas geográficas, por divisiones etc...

3. Explicación de cada OU y qué debe ir en cada una

3.1. Tabla resumen de OUs

OU

Qué contiene

Qué NO debe contener

Tier0\Accounts

Cuentas admin Tier0, cuentas de servicio críticas

Usuarios estándar, admins de servidores, helpdesk

Tier0\Groups\AdminGroups

Grupos admin Tier0 (ej. GRP_T0_Admins)

Grupos de acceso de usuario, grupos Tier1/Tier2

Tier0\Groups\ServiceGroups

Grupos de servicio de infra (replicación, PKI, ADFS, etc.)

Grupos de acceso a datos de negocio

Tier0\Services Accounts

Cuentas de servicio de infra (PKI, ADFS, AADConnect…)

Cuentas de servicio de apps de negocio

Tier0\Domain Controllers

Objetos Computer de DCs

Servidores de negocio

Tier0\Servers

Servidores de identidad (PKI, ADFS, AADConnect…)

File servers, SQL, apps

Tier1\Accounts

Cuentas admin de servidores (Tier1)

Usuarios estándar, VIP, helpdesk

Tier1\Groups\AdminGroups

Grupos admin de servidores (GRP_T1_Admins, GRP_T1_SQL_Admins, etc.)

Grupos de usuario final

Tier1\Groups\AccessGroups

Grupos de acceso a recursos de servidor (carpetas, apps, SQL, etc.)

Grupos de usuario final (proxy, impresoras, etc.)

Tier1\Servers

Servidores de negocio

PCs, DCs

Tier1\Servers\SQL

Servidores SQL

Otros servidores

Tier1\Services Accounts

Cuentas de servicio de aplicaciones de servidor

Cuentas de usuario

Tier2\Accounts\Standard

Usuarios estándar

VIP, cuentas de servicio, admins de servidor

Tier2\Accounts\VIP

Usuarios VIP (CIO, CEO, CISO, directivos)

Usuarios estándar

Tier2\Accounts\Admins

Cuentas admin Tier2 (helpdesk, desktop support)

Usuarios estándar, VIP

Tier2\Computers\Standard

PCs estándar

PCs VIP

Tier2\Computers\VIP

PCs VIP

PCs estándar

Tier2\Computers\Shared

PCs compartidos

Servidores

Tier2\Groups\AdminGroups

Grupos admin Tier2 (GRP_T2_Admins, etc.)

Grupos de acceso a recursos de servidor

Tier2\Groups\GruposEspeciales

Grupos de acceso de usuario final y grupos VIP/sensibles

Grupos admin (van en AdminGroups)

 

4. Grupos delegados en las OUs

4.1. Grupos administrativos por Tier

Tier0

  • GRP_T0_Admins
    • Ubicación: Tier0\Groups\AdminGroups.
    • Gestiona:
      • Tier0\Accounts, Tier0\Groups\*, Tier0\Services Accounts, Tier0\Domain Controllers, Tier0\Servers.
    • NO gestiona:
      • Ninguna OU de Tier1 ni Tier2.

Tier1

  • GRP_T1_Admins
    • Ubicación: Tier1\Groups\AdminGroups.
    • Gestiona:
      • Tier1\Accounts, Tier1\Groups\*, Tier1\Servers\*, Tier1\Services Accounts.
    • NO gestiona:
      • Tier0\*, Tier2\Accounts\*, Tier2\Computers\*, Tier2\Groups\GruposEspeciales.
  • GRP_T1_SQL_Admins
    • Ubicación: Tier1\Groups\AdminGroups.
    • Gestiona:
      • Solo Tier1\Servers\SQL.
    • NO gestiona:
      • Otros servidores, Tier0, Tier2.

Tier2

  • GRP_T2_Admins
    • Ubicación: Tier2\Groups\AdminGroups.
    • Gestiona:
      • Tier2\Accounts\Standard, Tier2\Accounts\Admins.
      • Tier2\Computers\Standard, Tier2\Computers\Shared.
      • Tier2\Groups\GruposEspeciales (solo grupos no VIP, si así lo defines).
    • NO gestiona:
      • Tier2\Accounts\VIP.
      • Tier2\Computers\VIP.
      • Grupos VIP dentro de GruposEspeciales (reservados a GRP_T2_VIP_Admins).
      • Ninguna OU de Tier1 ni Tier0.
  • GRP_T2_VIP_Admins
    • Ubicación: Tier2\Groups\GruposEspeciales.
    • Gestiona:
      • Tier2\Accounts\VIP.
      • Grupos VIP/sensibles en Tier2\Groups\GruposEspeciales.
    • NO gestiona:
      • Usuarios estándar.
      • PCs.
      • Tier1, Tier0.
  • GRP_T2_VIP_PC_Admins
    • Ubicación: Tier2\Groups\GruposEspeciales.
    • Gestiona:
      • Tier2\Computers\VIP.
    • NO gestiona:
      • PCs estándar.
      • Usuarios.
      • Tier1, Tier0.
  • (Opcional) GRP_T1_VIP_Admins (excepción)
    • Ubicación: Tier1\Groups\GruposEspeciales (si la creas).
    • Gestiona:
      • Tier2\Accounts\VIP (si la organización exige que T1 gestione VIP).
    • NO gestiona:
      • Usuarios estándar.
      • PCs.
      • Tier0. 

4.2. Tabla resumen de alcance de grupos

Grupo

Tier

Gestiona

NO gestiona

GRP_T0_Admins

0

DCs, servidores de identidad, cuentas y grupos Tier0

Tier1, Tier2

GRP_T1_Admins

1

Servidores, cuentas admin T1, grupos T1

Tier0, usuarios/PCs T2, grupos VIP T2

GRP_T1_SQL_Admins

1

Solo servidores SQL

Otros servidores, T0, T2

GRP_T2_Admins

2

Usuarios estándar, PCs estándar/shared, grupos no VIP en GruposEspeciales

VIP, PCs VIP, grupos T1/T0, grupos VIP

GRP_T2_VIP_Admins

2

Usuarios VIP, grupos VIP en GruposEspeciales

Usuarios estándar, PCs, T1, T0

GRP_T2_VIP_PC_Admins

2

PCs VIP

PCs estándar, usuarios, T1, T0


5. Delegación por OU raíz y herencia (ACL concretas)

5.1. Regla clave sobre herencia y VIP

  • No se delega GRP_T2_Admins en la OU raíz Tier2.
  • Se delega por sub-OU, para que NO herede en VIP.

5.2. Delegación por OU

Tier0

  • Tier0\Accounts / Groups / Services Accounts / Domain Controllers / Servers
    • Grupo: GRP_T0_Admins.
    • Permisos (ACL):
      • Full Control sobre objetos del tipo correspondiente (User, Group, Computer).
      • Gestión de GPOs linkadas a OUs de Tier0 (si aplica).

Tier1

  • Tier1\Servers (y sub-OUs como SQL)
    • Grupo: GRP_T1_Admins (+ GRP_T1_SQL_Admins en SQL).
    • Permisos:
      • Create/Delete Computer objects.
      • Write atributos de equipo.
      • Gestionar GPOs de servidores.
  • Tier1\Groups\AccessGroups
    • Grupo: GRP_T1_Admins.
    • Permisos:
      • Create/Delete Group objects.
      • Write Members (modificar membresía).
    • T2 NO tiene permisos aquí.

Tier2

  • Tier2\Accounts\Standard / Admins
    • Grupo: GRP_T2_Admins.
    • Permisos:
      • Reset password.
      • Read/Write lockoutTime.
      • Create/Delete User objects.
      • Write atributos básicos (teléfono, office, etc.).
  • Tier2\Accounts\VIP
    • Grupo: GRP_T2_VIP_Admins.
    • Permisos:
      • Igual que Standard, pero solo para VIP.
    • GRP_T2_Admins NO tiene permisos aquí.
  • Tier2\Computers\Standard / Shared
    • Grupo: GRP_T2_Admins.
    • Permisos:
      • Create/Delete Computer objects.
      • Write atributos de equipo.
  • Tier2\Computers\VIP
    • Grupo: GRP_T2_VIP_PC_Admins.
    • Permisos:
      • Igual que Standard, pero solo PCs VIP.
  • Tier2\Groups\GruposEspeciales
    • Grupos que gestionan:
      • GRP_T2_Admins → grupos normales de usuario final (pcs, WSUS cliente, apps cliente…).
      • GRP_T2_VIP_Admins → grupos VIP/sensibles (acceso a apps VIP, carpetas VIP…).
    • Permisos:
      • Create/Delete Group objects.
      • Write Members.
    • Regla:
      • Los grupos VIP se protegen con ACL más restrictivas (solo GRP_T2_VIP_Admins). 


5.3. Tabla resumen de delegación por OU

OU

Grupo(s) con delegación

Qué pueden hacer

Tier0\*

GRP_T0_Admins

Full control sobre objetos Tier0

Tier1\Servers\*

GRP_T1_Admins (+ T1_SQL en SQL)

Gestionar servidores, atributos, GPOs

Tier1\Groups\AccessGroups

GRP_T1_Admins

Gestionar grupos de acceso a recursos de servidor

Tier2\Accounts\Standard, Admins

GRP_T2_Admins

Reset pass, unlock, crear/borrar usuarios estándar/admin

Tier2\Accounts\VIP

GRP_T2_VIP_Admins

Reset pass VIP, unlock VIP, gestionar VIP

Tier2\Computers\Standard, Shared

GRP_T2_Admins

Crear/borrar PCs estándar/shared

Tier2\Computers\VIP

GRP_T2_VIP_PC_Admins

Gestionar PCs VIP

Tier2\Groups\GruposEspeciales

GRP_T2_Admins / GRP_T2_VIP_Admins

Gestionar grupos de usuario final y VIP según ACL

 

6. Carpetas de usuario y servidores

6.1. Carpetas de datos en servidores (T1) y T2

Si los grupos de gestión de carpetas de datos en servidores están en T1, un T2 no puede gestionarlos.

Correcto, y así debe ser.

  • Grupos de acceso a carpetas de datos en servidores
    • Ejemplo: \\SRV-FILES\Datos.
    • Grupo: GRP_T1_Acceso_Datos.
    • Ubicación: Tier1\Groups\AccessGroups.
    • Solo GRP_T1_Admins puede modificar membresía.
    • GRP_T2_Admins NO tiene permisos sobre esa OU.

Conclusión:

  • T2 no puede dar/quitar acceso a carpetas de datos en servidores.
  • Solo T1 gestiona esos permisos.

6.2. Carpetas personales de usuario

  • T2 (Help Desk) gestiona:
    • Atributos del usuario en AD:
      • homeDirectory, homeDrive, profilePath, redirecciones.
    • No toca NTFS en el servidor.
  • T1 gestiona:
    • Permisos NTFS y compartición en el servidor.
    • Estructura de carpetas en \\SRV-FILES\Users\....


6.3. Tabla resumen carpetas

Tipo de carpeta

Dónde vive

Quién la gestiona en AD

Quién gestiona NTFS/servidor

Carpeta personal de usuario

En servidor (T1)

GRP_T2_Admins (atributos)

GRP_T1_Admins

Carpeta de datos de negocio

En servidor (T1)

Grupos T1 en AccessGroups

GRP_T1_Admins

Carpeta VIP

En servidor (T1)

Grupos VIP (T1/T2 VIP)

GRP_T1_Admins


7. Gestión de usuarios (admin, VIP, estándar, servicio)

7.1. Tabla resumen de tipos de cuenta

Tipo de cuenta

OU

Quién la gestiona

Usuario estándar

Tier2\Accounts\Standard

GRP_T2_Admins

Usuario VIP

Tier2\Accounts\VIP

GRP_T2_VIP_Admins (o T1_VIP si excepción)

Admin Tier2

Tier2\Accounts\Admins

GRP_T2_Admins

Admin Tier1

Tier1\Accounts

GRP_T1_Admins

Admin Tier0

Tier0\Accounts

GRP_T0_Admins

Cuentas de servicio T0

Tier0\Services Accounts

GRP_T0_Admins

Cuentas de servicio T1

Tier1\Services Accounts

GRP_T1_Admins

Cuentas de servicio T2

Tier2\Accounts\Admins / ServiceAccounts

GRP_T2_Admins

 

8. Regla por servidor: grupo de dominio en Administradores locales

Cada servidor Tier1 debería tener:

  • Un grupo de dominio específico dentro de su grupo local de Administradores:
    • Ejemplo:
      • Servidor: SRV-APP01.
      • Grupo de dominio: GRP_T1_SRV-APP01_Admins (en Tier1\Groups\AdminGroups).
      • Este grupo se agrega al grupo local Administrators de SRV-APP01.
  • Eliminar cualquier usuario/grupo directo en Administrators local que no sea:
    • GRP_T1_SRV-APP01_Admins.
    • Domain Admins (idealmente ni eso, si se aplica PAW/Just-in-Time).

Esto permite:

  • Delegar acceso a un servidor concreto a proveedores o admins específicos.
  • Sin darles acceso a otros servidores.

 

Notas:

Un siguiente paso podría ser aplicar GPO donde bloqueariamos el acceso de los TX a los tiers que no les corresponde.


by GoN | Published: Feb 2026 | Last Updated: