Resetear contraseñas en AzureAD con PowerShell

Sitio dedicado a Microsoft Azure y otras tecnologías Cloud

Estoy arrancando una MVP de un modelo de negocio que intenta cubrir el problema de escasez de una cuenta de coste limitado para mis alumnos, en donde puedan hacer las prácticas y laboratorios que requiere el estudio de las Certificaciones de Azure.

Y he realizado un pequeñito script en powershell para poder hacer dos operaciones masivas de forma sencilla:

Ponerle una contraseña específica a todos los usuarios que tengo en la suscripción que comparten mis alumnos durante las clases, y activar y desactivar las cuentas (para cuando se acaban las clases, que no me generen gastos).

Vamos al lío..

Un pequeña sábana para dos lineas

Si algo nos podemos quejar de la excelente herramienta que es PowerShell (versión 5.x) es que hay que escribir mucho para poder realizar las operaciones. En este caso lo primero que debo hacer es establecer la conexión con mi cuenta de Azure y definir cual de mis tropecientas suscripciones es la que voy a utilizar.

Login-AzureRmAccount
$suscriptionId = "d1axxx-cxxx-4xxx-8xxxx-exxxxxxxxc"
Set-AzureRmContext -SubscriptionId $suscriptionId

Lo siguiente es conectarme con mi Directorio Activo de Azure para lo cual tengo que lanzar el siguiente script.

$currentAzureContext = Get-AzureRmContext
$tenantId = $currentAzureContext.Tenant.Id
$accountId = $currentAzureContext.Account.Id
Connect-AzureAD -TenantId $tenantId -AccountId $accountId

Ahora voy a crear una variable de tipo SecureString en donde almacenar mi contraseña en texto plano, de forma segura. Ya que solo en este formato lo voy a poder asignar a la cuenta del usuario.

$securepassword = ConvertTo-SecureString -String 'AzurePa$$w0rd' -AsPlainText -Force

Y ahora si que si, me hago un bucle por el directorio activo de la suscripción asignando la contraseña; seguido a continuación con la activación o bloqueo de la cuenta del usuario.

$usersAD = Get-AzureRmADUser
Foreach($user in $usersAD)
{
    Set-AzureADUserPassword -ObjectId $user.Id -Password $securepassword
    Set-AzureRmADUser -UPNOrObjectId $user.Id -EnableAccount $true
}

Espero que sea de utilidad.

 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.