/
/

Cómo generar informes de discrepancia de propietario de dispositivo en entornos de clientes

por Team Ninja
How to Generate Reports Showing Device Owner to Device Mismatch in Client Environments blog banner image

Resumen instantáneo

Este post ofrece una lista completa de comandos CMD básicos y una inmersión profunda en los comandos de Windows, con más de 70 comandos cmd esenciales tanto para principiantes como para usuarios avanzados. Explica comandos prácticos del símbolo del sistema para la gestión de archivos, la navegación por directorios, la solución de problemas de red, las operaciones de disco y la automatización con ejemplos reales para mejorar la productividad. Tanto si estás aprendiendo los comandos básicos de cmd como si ya dominas las herramientas avanzadas de la CLI de Windows, esta guía te ayudará a utilizar el Símbolo del sistema de forma más eficaz.

La discrepancia de propietario de dispositivo se produce cuando el usuario actual de un endpoint no coincide con el propietario esperado o asignado. Igual que ocurre con el incumplimiento en la gestión de parches, esto puede ir deteriorando poco a poco tu postura de seguridad, por lo que las auditorías periódicas son imprescindibles. Y con las herramientas adecuadas puedes automatizar las partes más complicadas y recibir alertas en tiempo real sobre inicios de sesión que no cuadran.

En este artículo te explicamos cómo detectar casos de discrepancia de propietario de dispositivo con herramientas nativas y cómo las soluciones RMM modernas pueden mejorar tus informes.

Generar informes de discrepancia de propietario de dispositivo, paso a paso

Sigue estos pasos para recopilar los datos de discrepancia sin perder de vista tus objetivos ni las limitaciones técnicas.

📌 Requisitos previos:

  • Privilegios de administrador
  • Windows 10/11 o Server 2016+
  • PowerShell 5.1 o posterior
  • Permisos de Graph API
  • Acceso de administrador en los dispositivos
  • Acceso a asignaciones usuario-dispositivo fiables (por ejemplo, Intune, AD, registro de activos, CMDB)
  • Opcional: permiso de escritura en el registro para el etiquetado local
  • Opcional: NinjaOne o un RMM equivalente para automatizar scripts y generar informes

📌 Estrategias de despliegue recomendadas:

Haz clic para ir directamente a un paso 💻
Ideal para usuarios individuales
💻💻💻
Ideal para empresas
Paso 1: identifica el usuario actual del dispositivo con PowerShell ✓
Paso 2: obtén el propietario esperado desde una fuente externa ✓
Paso 3: compara propietario real y esperado e informa de la discrepancia ✓ ✓
Paso 4: registra los resultados en el registro para un seguimiento continuo ✓
Paso 5: programa y automatiza la ejecución del script ✓ ✓

Echá un vistazo a la versión en vídeo de Cómo generar informes que muestren la discrepancia entre el propietario y el dispositivo en entornos de clientes y sigue el marco completo de cinco pasos.

Paso 1: identifica el usuario actual del dispositivo con PowerShell

Usa cmdlets potentes para identificar rápidamente a los usuarios de cada dispositivo.

📌 Casos de uso: revisar los registros del dispositivo para detectar la interacción más reciente de un usuario.

  1. Pulsa Win + R, escribe PowerShell y pulsa Ctrl + Mayús + Intro.
  2. Para ver quién accedió por última vez al dispositivo, ejecuta lo siguiente:

$lastUserSID = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI").LastLoggedOnUserSID

$lastUsername = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI").LastLoggedOnUser

  1. Para comprobar el último perfil que utilizó el dispositivo, ejecuta lo siguiente:

$profiles = Get-CimInstance -ClassName Win32_UserProfile | Where-Object { -not $_.Special }

$lastUsed = $profiles | Sort-Object LastUseTime -Descending | Select-Object -First 1

$lastUsed.LocalPath

Paso 2: obtén el propietario esperado desde una fuente externa

📌 Casos de uso: conseguir una lista precisa de las asignaciones de dispositivos a usuarios finales.

📌 Requisitos previos: Graph API

  1. Pulsa Win + R, escribe PowerShell y pulsa Ctrl + Mayús + Intro.
  2. Para obtener la lista de propietarios esperados desde Intune mediante Graph API, ejecuta lo siguiente:

Connect-MgGraph -Scopes "Device.Read.All", "DeviceManagementManagedDevices.Read.All", "User.Read.All"

$device = Get-MgDeviceManagementManagedDevice | Where-Object { $_.DeviceName -eq $env:COMPUTERNAME }

$expectedOwner = $device.UserPrincipalName

  1. Para generar la lista a partir de los datos del registro local, ejecuta lo siguiente:

Get-ItemProperty -Path "<KeyPath>" -Name "ExpectedOwner"

Sustituye <KeyPath> por la ruta de la clave en la que guardas los datos de propiedad (por ejemplo, HKLM:\SOFTWARE\Org\Ownership).

Paso 3: compara propietario real y esperado e informa de la discrepancia

Así puedes automatizar las comprobaciones de propiedad con scripts de PowerShell.

📌 Casos de uso: detectar discrepancias de propietario a partir de los registros de propiedad.

  1. Pulsa Win + R, escribe PowerShell y pulsa Ctrl + Mayús + Intro.
  2. Para crear un objeto de informe, ejecuta este script:

if ($lastUsername -ne $expectedOwner) {

$report = [PSCustomObject]@{

ComputerName = $env:COMPUTERNAME

ActualUser = $lastUsername

ExpectedUser = $expectedOwner

Timestamp = (Get-Date).ToString("u")

Mismatch = $true

}

} else {

$report = [PSCustomObject]@{

ComputerName = $env:COMPUTERNAME

ActualUser = $lastUsername

ExpectedUser = $expectedOwner

Timestamp = (Get-Date).ToString("u")

Mismatch = $false

}

}

  1. Para exportar los resultados de la discrepancia a un archivo .csv, ejecuta lo siguiente:

    $report | Export-Csv "C:\Reports\DeviceOwnerMismatch.csv" -NoTypeInformation

Paso 4: registra los resultados en el registro para un seguimiento continuo

⚠️ Advertencia: editar el registro puede provocar problemas en el sistema. Crea una copia de seguridad antes de continuar.

📌 Casos de uso: guardar una copia de los resultados de la auditoría de discrepancias en el registro, como redundancia.

  1. Pulsa Win + R, escribe PowerShell y pulsa Ctrl + Mayús + Intro.
  2. Para registrar los resultados del estado de propiedad en el registro, ejecuta lo siguiente:

New-Item -Path "<StoragePath>" -Force

Set-ItemProperty -Path "<StoragePath> -Name "OwnerMismatch" -Value $report.Mismatch

Set-ItemProperty -Path "<StoragePath>" -Name "ActualUser" -Value $report.ActualUser

Set-ItemProperty -Path "<StoragePath>" -Name "ExpectedUser" -Value $report.ExpectedUser

Sustituye <StoragePath> por la ruta de registro de la clave que utilizas para almacenar los datos de propiedad (por ejemplo, HKLM:\SOFTWARE\Org\DeviceAudit).

  1. Pulsa Win + R, escribe cmd y pulsa Ctrl + Mayús + Intro.
  2. Para confirmar los cambios en las entradas del registro, ejecuta:

reg query <StoragePath>

Paso 5: programa y automatiza la ejecución del script para detectar discrepancias de propietario

📌 Casos de uso: aprovechar plataformas externas para generar informes sin fricciones.

  1. Pulsa Win + R, escribe PowerShell y pulsa Ctrl + Mayús + Intro.
  2. Para automatizar las comprobaciones periódicas de propiedad, ejecuta lo siguiente:

schtasks /create /tn "DeviceOwnerAudit" /tr "powershell.exe -File C:\Scripts\CheckOwnerMismatch.ps1" /sc weekly /st 03:00 /ru SYSTEM

  1. También puedes ejecutar los scripts desde un RMM (por ejemplo, NinjaOne) para despliegues a escala de toda la empresa.

⚠️ Aspectos a tener en cuenta

Riesgos Posibles consecuencias Soluciones
Graph API devuelve datos de propiedad obsoletos Dispositivos con propiedad correcta marcados como discrepancia Contrasta los datos con varias fuentes externas (por ejemplo, registros de RR. HH. o datos del registro local).
El script falla sin avisar Alertas que no llegan y discrepancias que pasan desapercibidas Aplica control de versiones a los scripts de PowerShell.
Usuario identificado incorrectamente por una caché de perfil obsoleta Falso positivo Usa el registro de eventos con Get-WinEvent para revisar el historial de inicios de sesión.
Error de lógica al comparar el propietario real y el esperado Auditorías poco fiables y trabajo adicional de revisión Verifica las dos variables antes de compararlas y añade comprobaciones de valores nulos.

Puntos clave al asociar el agente de usuario con el dispositivo

Ten presentes estas cuestiones cuando recopiles datos para los informes de propiedad de dispositivos.

Puestos de trabajo compartidos

Los equipos de uso compartido también deben contemplarse en tus informes de discrepancias. Para excluir entornos compartidos, como los kioscos de una tienda, durante las auditorías de propiedad, añade el identificador de seguridad (SID) de su cuenta al siguiente registro:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedPC\Exemptions

Dispositivos solo en el cloud

En los endpoints orientados al cloud, Microsoft Graph API es el recurso principal para consultar la propiedad del dispositivo. Obtén los propietarios registrados ejecutando lo siguiente:

GET /devices/{id}/registeredOwners

Integración con el aprovisionamiento

La asignación de usuarios es un paso clave del aprovisionamiento de dispositivos. En esa fase se utiliza el portal de Intune o los archivos CSV de Autopilot, así que tenlo en cuenta si necesitas más pistas para resolver un problema.

Desviación de roles

Los cambios de puesto, las renovaciones de hardware y el uso no autorizado son las causas más habituales de discrepancia de propietario. Mantén tus endpoints bajo control con plataformas de gestión que ofrezcan soluciones escalables.

Guía de inicio rápido

NinjaOne te ayuda a generar informes que muestran la discrepancia entre el propietario y el dispositivo en entornos de clientes. La plataforma ofrece herramientas y capacidades de automatización que te permiten:

1. Detectar discrepancias con scripts de PowerShell e integraciones con Graph API
2. Automatizar la remediación para resolver los problemas de propiedad
3. Asociar agentes de usuario con dispositivos para un seguimiento preciso
4. Simplificar las auditorías con funciones completas de informes

Resolución de problemas en los informes de discrepancias

Así se resuelven los problemas de discrepancia más frecuentes entre los MSP.

Falta el propietario esperado

Si no aparece el propietario esperado del dispositivo, busca los datos del endpoint en Intune y comprueba que tu clave de registro personalizada para el seguimiento de la propiedad (por ejemplo, HKLM:\SOFTWARE\Org\DeviceOwners) tiene información.

No se puede acceder a las claves del registro

Algunas rutas del registro requieren privilegios de administrador para acceder o modificarlas. Inicia sesión con credenciales de administrador o ejecuta Start-Process powershell -Verb RunAs para elevar tus permisos.

Varios usuarios muestran actividad

Es habitual que aparezcan varios usuarios al ejecutar Win32_UserProfile. Para acceder al evento de inicio de sesión más relevante, ejecuta lo siguiente y ordénalos por marca de tiempo:

Get-CimInstance Win32_UserProfile | Sort-Object LastUseTime -Descending | Select-Object -First 1

Tiempo de espera agotado en Graph API

Si recibes errores de tiempo de espera al recuperar datos con Graph API (por ejemplo, 429 Too Many Requests), utiliza las cabeceras Retry-After y los parámetros $top, $skip y @odata.nextLink.

Los servicios de NinjaOne simplifican la detección de discrepancias

NinjaOne mejora la detección de discrepancias de estas formas:

  • Ofrece detección permanente y alertas en tiempo real.
  • Despliega comprobaciones de discrepancia en toda la empresa.
  • Revisa los valores del registro en busca de marcas de discrepancia.
  • Agrupa los dispositivos que no cumplen los requisitos para que los revise un técnico.
  • Automatiza los flujos de trabajo de remediación (por ejemplo, reasignación de propietario o creación de tickets).
  • Genera informes de todos los clientes para detectar y corregir la desviación de dispositivos.

Automatiza la recopilación de datos para tu informe de discrepancias usuario-dispositivo

Con herramientas avanzadas puedes recopilar, analizar y almacenar los datos de discrepancia de todo tu sistema. Además, aprovecha las plataformas RMM y sus capacidades de automatización para eliminar el error humano y aplicar soluciones escalables, como las funciones personalizadas y los informes visuales.

Temas relacionados:

FAQs

Es la persona o entidad a la que se asigna la responsabilidad de un endpoint de la organización.

Es el alejamiento progresivo de las políticas de seguridad y cumplimiento establecidas por la organización.

Inicia sesión en un equipo del dominio, ve al registro de seguridad y busca el Event ID 4624. Filtra por LogonType para identificar los inicios de sesión interactivos.

Quizá también te interese…

¿Listo para simplificar los aspectos más complejos de las TI?

Términos y condiciones de NinjaOne

Al hacer clic en el botón «Acepto» que aparece a continuación, estás aceptando los siguientes términos legales, así como nuestras Condiciones de uso:

  • Derechos de propiedad: NinjaOne posee y seguirá poseyendo todos los derechos, títulos e intereses sobre el script (incluidos los derechos de autor). NinjaOne concede al usuario una licencia limitada para utilizar el script de acuerdo con estos términos legales.
  • Limitación de uso: solo podrás utilizar el script para tus legítimos fines personales o comerciales internos, y no podrás compartirlo con terceros.
  • Prohibición de republicación: bajo ninguna circunstancia está permitido volver a publicar el script en ninguna biblioteca de scripts que pertenezca o esté bajo el control de cualquier otro proveedor de software.
  • Exclusión de garantía: el script se proporciona «tal cual» y «según disponibilidad», sin garantía de ningún tipo. NinjaOne no promete ni garantiza que el script esté libre de defectos o que satisfaga las necesidades o expectativas específicas del usuario.
  • Asunción de riesgos: el uso que el usuario haga del script corre por su cuenta y riesgo. El usuario reconoce que existen ciertos riesgos inherentes al uso del script, y entiende y asume cada uno de esos riesgos.
  • Renuncia y exención: el usuario no hará responsable a NinjaOne de cualquier consecuencia adversa o no deseada que resulte del uso del script y renuncia a cualquier derecho o recurso legal o equitativo que pueda tener contra NinjaOne en relación con su uso del script.
  • CLUF: si el usuario es cliente de NinjaOne, su uso del script está sujeto al Contrato de Licencia para el Usuario Final (CLUF).