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 y Links
Referencias oficiales de Microsoft:
- Creating an OU: http://technet.microsoft.com/en-us/library/dd378831(v=ws.10).aspx
- Deleting an OU: http://technet.microsoft.com/en-us/library/dd378803(v=ws.10).aspx
- Modifying an OU: http://technet.microsoft.com/en-us/library/dd378825(v=ws.10).aspx
Artículos y tutoriales externos que amplían información:
- [HOW-TO] Active Directory – Cómo administrar Unidades Organizacionales desde PowerShell: http://www.tectimes.net/how-to-active-directory-como-administrar-unidades-organizacionales-desde-powershell/