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}
}
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.