Como Modificar Atributos de Usuario del Dominio con Powershell.

Hola a todos.

Como ejemplo de para cambiar el atributo de los usuarios de Acive Directory utilizando Powershell, nos vamos a montar el siguiente escenario: 

·       Tenemos 100 Usuarios en el departamento de Publicidad (OU=Publicidad).
·       Después de muchos años han decidido montar una centralita con un solo número de teléfono (915 555 777).
·       Nos piden los jefes, que asignemos a los usuarios el nuevo número de teléfono más la extensión, la cual será los 3 últimos números de su número de móvil, vamos, el resultado final debe ser “Número;ext=Extensión”. 

Manos a la obra. 

Primero os pongo una captura de los usuarios con su respectiva OU. 

 
Para ello utilizaremos el siguiente Código, el cual he documentado para que sea fácil de entender: 
 
 
 
#----------------------------------------------------
# Buscamos los Usuarios Contenidos en la Unidad Organizativa y los pasamos a una Variable
#----------------------------------------------------
 
$Usuarios = Get-ADUser -Filter * -SearchBase "OU=Publicidad,DC=abiurrunc,DC=es" -Propertie sAMAccountName, TelephoneNumber, Mobile
 
#------------------------------------------------------------------------------
# Para cada Usuario Contenido en la VAriable ejecutaremos el siguiente grupo de comandos contenido entre los Corchetes
#------------------------------------------------------------------------------
 
foreach ($Usuario in $Usuarios) 
{  
    #----------------------------------------------------
    # Almacenamos la cuenta de Usuario en una Variable.
    #----------------------------------------------------
   
    $CuentaDeUsuario    = $Usuario.sAMAccountName
 
    #------------------------------------------------------------------------------
    # Le damos formato al número según nos han pedido ("915 555 555;ext=")
    # Extraemos los 3 últimos números del Mobile ($Usuario.Mobile.Substring(6)
    # Lo Unimos y lo almacenamos en una Variable  
    #------------------------------------------------------------------------------
   
    $NumerodeTelefono   = "915 555 777;ext=" + $Usuario.Mobile.Substring(6)
   
    #------------------------------------------------------------------------------
    # Para ver como ocurre el Proceso lo presentamos en Pantalla conforme se ejecuta.
    #------------------------------------------------------------------------------
 
    Write-Host "Usuario: $CuentaDeUsuario" " $NumerodeTelefono" -ForegroundColor White
 
    #------------------------------------------------------------------------------
    # Añadimos a la cuenta del Usuario El número de teléfono con su extensión
    #------------------------------------------------------------------------------
    Set-ADUser -Identity $CuentaDeUsuario -Replace @{TelephoneNumber=$NumerodeTelefono}
} 
 
 
 
 
 

 

En esta captura comprobamos que nuestro código ha funcionado.

 
Espero que os haya gustado.

Hasta el próximo Post.
 
Angel Biurrun Cabrero
Consultor - Administrador de Sistemas.
MCSA:     Microsoft® Windows Server 2012.    
MCITP:   Virtualization Administrator on Windows Server® 2008 R2.                                         
MCSA:     Microsoft® Windows Server 2003.

 

Comentarios

Publicar un comentario

Entradas populares