Compartir a través de


Alta, baja y modificacion de Unidades Organizacionales con PowerShell en Windows Server 2012 (es-ES)

Las Unidades Organizacionales (Organizational Units en inglés, o "OU") son objetos de un dominio de Active Directory. Son muy útiles porque permiten organizar muchísimos otros objetos y nos facilitan la administración y la delegación de derechos administrativos, como así también la aplicación de políticas de grupo (GPOs).

En esta publicación mostraremos como realizar ABM (alta, baja y modificación) de OUs mediante el módulo de Active Directory para PowerShell.

Objetivo

El objetivo de esta publicación es:

  • Realizar el alta de una Unidad Organizacional (OU) desde PowerShell.
  • Realizar la baja de una Unidad Organizacional (OU) desde PowerShell.
  • Realizar la modificación de una Unidad Organizacionales (OU) desde PowerShell.

Alcance

El alcance de esta publicación es:

  • ABM (alta, baja y modificación) de Unidades Organizacionales en un dominio de Active Directory con Windows Server 2012 y el módulo de administración de Active Directory para PowerShell.
  • Todas las acciones aquí mostradas se realizarán con un usuario con derechos suficientes para realizarlas. En el caso de este ejemplo, es un Domain Admin.

Es importante que en un entorno productivo se realice la delegación de privilegios para que el usuario que ejecuta acciones de ABM sobre OUs tenga la menor cantidad de derechos posibles sobre el dominio. El desarrollo de este item queda fuera de alcance en este artículo.

Alta de Unidades Organizacionales desde PowerShell

El alta de Unidades Organizacionales se realiza mediante el CMDLet "New-ADOrganizationalUnit" de PowerShell. Para obtener un detalle y ejemplos de cómo crear una OU, podemos ingresar el siguiente comando de ayuda en PowerShell:

Get-Help New-ADOrganizationalUnit –detailed

Alta basica de una OU

Para realizar la creación de una OU, es necesario utilizar el CMDLet “New-ADOrganizationalUnit” con dos parámetros: Name y Path:

New-ADOrganizationalUnit -Name “Nombre_OU” -Path “OU=UnidadOrganizacional,DC=DOMINIO,DC=LOCAL”

En donde:

  • Name: es el nombre que le asignaremos a la nueva OU.
  • Path: es la ubicación dentro de nuestro servicio de directorio. Debemos indicar el DistinguishedName de la ubicación.

Alta avanzada de una OU

Existen parámetros adicionales que podemos indicar en la creación de una OU. Por ejemplo, si queremos crear una OU sin la propiedad de protección ante borrado accidental, deberíamos indicar:

New-ADOrganizationalUnit -Name “Nombre_OU” -Path “OU=UnidadOrganizacional,DC=DOMINIO,DC=LOCAL” -ProtectedFromAccidentalDeletion $false

Donde:

  • ProtectedFromAccidentalDeletion: este parámetro puesto en false deshabilita dicha propiedad.

Podemos, además, indicar propiedades extras como la descripción, ciudad, etc:

New-ADOrganizationalUnit -Name “Nombre_OU” -Path “OU=UnidadOrganizacional,DC=DOMINIO,DC=LOCAL” -Description "Descripcion de la OU" -ProtectedFromAccidentalDeletion $false

Donde:

  • Description: representa la descripción que le daremos a la OU.

Baja de Unidades Organizacionales desde PowerShell

La baja de Unidades Organizacionales se realiza mediante el CMDLet "Remove-ADOrganizationalUnit" de PowerShell. Para obtener un detalle y ejemplos de cómo eliminar OUs, podemos ingresar el siguiente comando de ayuda en PowerShell:

Get-Help Remove-ADOrganizationalUnit –detailed

Baja basica de una OU

Para eliminar una Unidad Organizacional con PowerShell debemos ingresar el siguiente comando:

Remove-ADOrganizationalUnit -Identity "OU=Nombre_OU,DC=DOMINIO,DC=LOCAL"

Donde:

  • Identity: es el DistinguishedName del objeto a borrar.

Borrado recursivo de OUs

Supongamos que tenemos una Unidad Organizacional con objetivos “hijos” dentro, como otras OUs. Para borrar la OU "padre" y los objetos "hijos" debemos utilizar el borrado recursivo:

Remove-ADOrganizationalUnit -Identity "OU=Nombre_OU,DC=DOMINIO,DC=LOCAL" -Recursive

Donde:

  • Recursive: indica que se borrarán los objetos hijos también.

Modificacion de Unidades Organizacionales desde PowerShell

La modificación de Unidades Organizacionales se realiza en gran parte mediante el CMDLet "Set-ADOrganizationalUnit" de PowerShell. Para obtener un detalle y ejemplos de cómo modificar OUs, podemos ingresar el siguiente comando de ayuda en PowerShell:

Get-Help Set-ADOrganizationalUnit –detailed
Get-Help Set-ADObject -detailed

Modificar Propiedades de una OU

Para modificar una propiedad de una OU, como su descripción o ciudad, debemos ingresar el siguiente comando en PowerShell:

Set-ADOrganizationalUnit –Identity "OU=Nombre_OU,DC=DOMINIO,DC=LOCAL" -Description "Nueva Descripcion" -City “Buenos Aires”

Donde:

  • Identity: es el DistinguishedName del objeto a modificar.
  • Description: es la descripción del objeto OU a modificar.
  • City: es la ciudad que figura como propiedad del objeto OU a modificar.

Tenemos muchos otras propiedades para modificar, las cuales pueden ser verificadas en la ayuda del comando a través de "Get-Help Set-ADOrganizationalUnit –detailed".

Por ejemplo, si queremos modificar la protección ante borrado accidental de un objeto OU podemos ingresar:

Set-ADOrganizationalUnit -Identity “OU=Nombre_OU,DC=DOMINIO,DC=LOCAL” -ProtectedFromAccidentalDeletion $false

Donde:

  • Identity: es el DistinguishedName del objeto a modificar.
  • ProtectedFromAccidentalDeletion: este atributo en false deshabilita el objeto. En true lo habilita.

Modificar el Nombre de una OU

Para modificar el nombre de una OU no podemos utilizar el CMDLet "Set-ADOrganizationalUnit", sino que debemos utilizar "Rename-ADObject" tal como figura a continuación:

*Rename-ADObject "OU=Nombre_Actual,DC=TECTIMES,DC=LOCAL" -NewName “Nuevo_Nombre”
*
Donde:

  • Debemos indicar el DistinguishedName del objeto OU en la primera parte.
  • NewName: es el nuevo nombre que tomará el objeto.

Referencias oficiales de Microsoft:

Artículos y tutoriales externos que amplían información: