Explicación de Set-ADUser: cómo modificar usuarios de AD con PowerShell

¿Necesita actualizar varios usuarios en su Active Directory? ¿O busca una forma más eficiente de modificar las propiedades de los usuarios? Entonces, el cmdlet Set-ADuser en PowerShell realmente lo ayudará.

Todos hemos aprendido a gestionar nuestros usuarios a través de la consola de gestión de Usuarios y Equipos de Active Directory (ADUC).

Es perfecto para hacer rápidamente algunos cambios en un solo usuario.

Pero cuando necesita actualizar las propiedades de varios usuarios en diferentes unidades organizativas, usar PowerShell es mucho más eficiente.

En este artículo, veremos cómo usar el cmdlet Set-ADuser. Qué opciones tenemos, y te daré un par de ejemplos útiles.

Módulo de directorio activo de PowerShell

Antes de que podamos comenzar, primero debemos asegurarnos de que tenemos instalado el módulo de directorio activo de PowerShell.

Para verificar si tiene el módulo instalado, simplemente puede ejecutar el siguiente comando en PowerShell:

Get-Module -name ActiveDirectory

# Result:
ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Manifest   1.0.0.0    ActiveDirectory                     {Add-ADCentralAccessPolicyMember, Add-ADComputerServiceAccount, Add-A...

Si el módulo no aparece en la lista, debemos instalar el módulo RSAT (Administración remota del servidor). Use el siguiente comando de PowerShell para esto:

Install-WindowsFeature RSAT-AD-PowerShell

El módulo se instala automáticamente en el controlador de dominio.

Instale el módulo de directorio activo de PowerShell en Windows 10

Pero en Windows 10 u 11 necesitamos habilitar la función RSAT. En lugar de hacer clic en las pantallas de configuración, usaremos PowerShell para esto:

  1. Prensa Tecla de Windows + X (o haga clic con el botón derecho en Inicio)
  2. Abierto Windows PowerShell (Administrador)
  3. Introduzca el siguiente comando:
Add-WindowsCapability –online –Name “Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0”

Uso del cmdlet Set-ADUser

Con el cmdlet Set-ADUser podemos modificar todas las propiedades de un usuario de Active Directory.

Para hacer esto podemos usar uno de los parámetros del cmdlet o usar el parámetro Agregar, Actualizar, Reemplazar. Se enumeran todos los parámetros de Set-ADUser aquí en la documentación de Microsoft.

Digamos que queremos cambiar el título del trabajo de nuestro usuario Alan Rhodes. Su título de trabajo actual es empleado, y lo vamos a cambiar a gerente de piso.

Set-ADUser -Identity arhodes -Title "Floor manager"

Seleccionamos al usuario en función del nombre principal del usuario (identidad) y configuramos el título como Gerente de piso.

Como puede ver en la siguiente captura de pantalla, el Set-ADUser el cmdlet no da ningún resultado.

Pero simplemente podemos verificar los resultados en PowerShell con Get-ADUser

establecer-aduser
Set-ADUser cmdlet

Establecer múltiples atributos

También podemos cambiar o establecer múltiples atributos a la vez. Digamos que también queremos actualizar el número de teléfono, la oficina y los atributos del departamento de Alan.

Set-ADUser -Identity arhodes -OfficePhone "(012)-157-8923" -Office "A3.20" -Department Operations

Borrar atributos de usuario de AD

A veces es necesario eliminar o borrar un atributo. Para hacer esto, deberá usar el parámetro claro, esto eliminará el contenido de todos los campos seleccionados. Si queremos retirar el teléfono móvil podemos hacer lo siguiente:

Set-ADUser -identity arhodes -Clear mobile

O para borrar múltiples atributos de AD que puede usar

Set-ADUser -identity arhodes -Clear mobile,title,department

Agregar y quitar atributos con Set-ADUser

Algunos atributos pueden contener múltiples valores, como Dirección proxy o otroTeléfono por ejemplo.

Para establecer o actualizar valores en estos atributos podemos usar el parámetro Add and Remove en Set-ADUser.

Puede establecer varios valores utilizando una lista separada por comas:

Set-ADUser -Identity arhodes -Add @{proxyAddresses="[email protected]","[email protected]"}

Para eliminar un solo valor de la lista, simplemente podemos especificar qué valor queremos eliminar:

Set-ADUser -Identity arhodes -Remove @{proxyAddresses="[email protected]"}

Cuenta de desactivación de Active Directory con Set-ADuser

También podemos usar el cmdlet Set-ADuser para habilitar o deshabilitar una cuenta en Active Directory. los enabled El parámetro es de tipo booleano, por lo que podemos establecerlo en verdadero o falso.

Para deshabilitar un usuario en su Active Directory puede usar el siguiente comando:

# Disable a user
Set-ADUser -identity cparker -Enabled:$false

# Enable a user
Set-ADUser -identity cparker -Enabled:$false

Actualización masiva de usuarios de AD

Hasta ahora, solo actualizamos a un solo usuario con PowerShell, pero el verdadero poder del cmdlet Set-ADUser es la actualización masiva de usuarios de AD.

El cambio de un atributo en un solo usuario también se puede hacer fácilmente a través de la consola de administración.

Pero, ¿cómo cambia el administrador de 10 usuarios o actualiza la dirección de la empresa de todos sus usuarios? Para ello vamos a utilizar el cmdlet Get-ADUser junto con Set-ADUser.

Get nos permite filtrar los usuarios, donde podemos usar Set para actualizar cada usuario en el resultado.

En el primer ejemplo, nombramos a Alan Rhodes gerente de piso. Así que démosle algunos reportes directos.

Vamos a seleccionar todos los usuarios que actualmente tienen a Andre West como administrador y cambiarlo a Alan Rhodes.

Get-ADUser -Filter 'manager -eq "awest"' | Set-ADUser -Manager arhodes

Siempre es una buena idea verificar primero los resultados de su cmdlet Get-ADUser antes de cambiar los atributos con Set-ADuser.

usuarios de anuncios de actualización masiva

Filtrar en OU

El Get-ADUser también nos permite filtrar en OU. Esto puede ser realmente útil cuando tiene muchos usuarios y desea limitar los resultados o cuando solo necesita una selección de los usuarios.

Digamos que nuestro departamento de marketing se va a mudar a otra oficina.

No podemos simplemente seleccionar a los usuarios en función de la dirección de la oficina, porque solo queremos el departamento de marketing.

Entonces lo que podemos hacer es esto:

Get-ADUser -Filter 'city -eq "Amsterdam"' -SearchBase "OU=Marketing,OU=Amsterdam,OU=Sites,DC=Lazyadmin,DC=NL" | Set-ADUser -StreetAddress "Westerdok 1" -PostalCode "2312ab"
obtener-aduser

Use una lista CSV para actualizar los usuarios

Otra excelente manera de actualizar usuarios en masa en su Active Directory es usar una lista CSV.

La ventaja del archivo CSV es que puede establecer diferentes valores para cada usuario, utilizando la comodidad de un archivo de Excel.

Creé en Excel un archivo CSV simple con en la primera columna los nombres para mostrar de los usuarios y en la segunda y tercera columna sus nuevos números de teléfono. Simplemente guarde el archivo de Excel como CSV.

Name;MobilePhone;OfficePhone
Bob Davis;(732)-016-9810;(933)-701-6542
Erik Parker;(732)-016-9720;(933)-701-6543
Jean Miles;(732)-016-9821;(933)-701-6544
Kelly Rice;(732)-016-9813;(933)-701-6545
Mathew Scott;(732)-016-9620;(933)-701-6546
Oscar May;(732)-016-9851;(933)-701-6547
Regina Clark;(732)-016-9811;(933)-701-6548

Ahora podemos crear un pequeño script de PowerShell que leerá el archivo CSV, encontrará a cada usuario y actualizará los atributos con el valor correcto:

Import-Csv -Delimiter ";" -Path c:\temp\PhoneNumberUpdate.csv | Foreach {
    # Find user
    $ADUser = Get-ADUser -Filter "name -eq '$($_.name)'"

    if ($ADUser){
        Set-ADUser -Identity $ADUser -MobilePhone $_.MobilePhone -OfficePhone $_.OfficePhone
    }else{
        Write-Warning ("Failed to update " + $($_.name))
    }
}

En este artículo, detallo más sobre cómo usar un archivo CSV para actualizar los atributos de usuario en Active Directory.

Terminando

El cmdlet Set-ADUser hace que sea realmente fácil actualizar los atributos de múltiples usuarios en su Active Directory.

Siempre asegúrese de verificar sus filtros con Get-ADUser primero o usando el –whatif parámetro.

Si tiene alguna pregunta, simplemente deje un comentario a continuación.

Otros artículos relacionados

Cómo verificar su versión de PowerShell

Cómo verificar su versión de PowerShell

¿Está usando la versión 5.1 o ya cambió a la versión 7 de PowerShell? La versión de PowerShell que haya ...
Leer Más
Obtener AzureADUser: cómo encontrar usuarios de Azure AD con PowerShell

Obtener AzureADUser: cómo encontrar usuarios de Azure AD con PowerShell

Al igual que con Active Directory local, podemos administrar nuestros usuarios en Azure AD con PowerShell. Para esto, necesitaremos usar ...
Leer Más
Eliminar carpetas vacías en SharePoint Online

Eliminar carpetas vacías en SharePoint Online

Después de fusionar carpetas duplicadas en SharePoint Online, necesitaba eliminar las carpetas vacías. Esto es algo que también podemos hacer ...
Leer Más
Cómo crear un perfil de PowerShell

Cómo crear un perfil de PowerShell

¿Quiere sacar más partido a su PowerShell? Luego, asegúrese de configurar su perfil de PowerShell para mejorar su consola de ...
Leer Más
Cómo crear un nuevo usuario local con PowerShell

Cómo crear un nuevo usuario local con PowerShell

Cuando necesite crear un usuario local en Windows 10 u 11, puede usar el panel de control de Cuentas de ...
Leer Más
Guía y scripts de desinstalación, reinstalación y limpieza de Microsoft Teams

Guía y scripts de desinstalación, reinstalación y limpieza de Microsoft Teams

Microsoft Teams no es como un programa promedio cuando se trata de instalarlo y desinstalarlo. El problema con Microsoft Teams ...
Leer Más

Deja un comentario