# Cómo Obtener la Ruta de la Unidad Organizativa (OU) de un Equipo desde el Registro de Windows con PowerShell

- Link: https://binariocero.com/windows/como-obtener-la-ruta-de-la-unidad-organizativa-ou-de-un-equipo-desde-el-registro-de-windows-con-powershell
- Published: 2025-06-20T22:26:00+02:00
- Author: Juan José Fernández Durán

![Loading](https://binariocero.com/wp-content/plugins/page-views-count/ajax-loader-
2x.gif)

En entornos corporativos que utilizan Active Directory (AD), es habitual que los
administradores necesiten conocer la **unidad organizativa (OU)** a la que pertenece
un equipo. Esta información resulta útil para aplicar directivas de grupo, organizar
dispositivos o auditar la infraestructura.

Gracias a PowerShell y a una clave del registro de Windows, es posible acceder a
esta información sin depender de herramientas externas.

## **1. Obtener el Distinguished Name (DN) del equipo**

El primer paso es extraer el valor **Distinguished-Name** desde el registro de Windows.
Este valor indica la ubicación completa del equipo en la jerarquía de Active Directory:

    ```wp-block-preformatted
    (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine")."Distinguished-Name"
    ```

Este comando suele devolver una cadena como:

    ```wp-block-preformatted
    CN=EQUIPO01,OU=TI,OU=Departamentos,DC=empresa,DC=local
    ```

## **2. Dividir el DN por componentes**

Para trabajar mejor con la información, podemos **dividir** la cadena del DN en 
sus partes separadas por comas, eliminando espacios innecesarios:

    ```wp-block-preformatted
    (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine")."Distinguished-Name" -split ',' | ForEach-Object { $_.Trim() }
    ```

Este comando produce una lista como esta:

    ```wp-block-preformatted
    CN=EQUIPO01OU=TIOU=DepartamentosDC=empresaDC=local
    ```

## **3. Filtrar solo las OUs**

Si solo nos interesan las unidades organizativas, podemos aplicar un filtro para
conservar únicamente los elementos que comienzan por `OU=`:

    ```wp-block-preformatted
    (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine")."Distinguished-Name" -split ',' | Where-Object { $_ -like 'OU=*' } | ForEach-Object { $_.Trim() }
    ```

Este comando devuelve:

    ```wp-block-preformatted
    OU=TIOU=Departamentos
    ```

Esto es útil si queremos ver la jerarquía de OUs sin el resto de los componentes
del DN.

## **4. Obtener las OUs en una sola línea**

Por último, si queremos unir los valores OU en una sola línea separada por comas,
por ejemplo para generar informes:

    ```wp-block-preformatted
    (((Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine")."Distinguished-Name" -split ',') | Where-Object { $_ -like 'OU=*' } | ForEach-Object { $_.Trim() }) -join ','
    ```

Resultado:

    ```wp-block-preformatted
    OU=TI,OU=Departamentos
    ```

## **Conclusión**

Estos comandos de PowerShell permiten extraer de forma precisa y eficiente la ubicación
de un equipo dentro del árbol de Active Directory, directamente desde su registro
local. Esta técnica es especialmente útil para tareas de administración, automatización
de inventarios y validaciones de configuración sin necesidad de hacer consultas 
directas al controlador de dominio.
