Borrar todos los Service Principals de mi Directorio Activo

Sitio dedicado a Microsoft Azure y otras tecnologías Cloud

Pantalla del ISE con un Poqershell para borrar usuarios y Service Principals

De forma recurrente utilizo una de mis suscripciones de Azure para darle acceso a mis alumnos. De esta forma podemos realizar todas las prácticas y laboratorios de la formación, sin estar obligados a un AzurePass o a que metan su tarjeta de crédito.

Esto implica que debo tener un control exhaustivo de borrar todos los recursos de la cuenta al finalizar el día, o el curso. Y resetear y deshabilitar las cuentas de usuario.

Hoy, haciendo laboratorios del AZ-400, me he llevado la sorpresa de tener decenas de cuentas de aplicaciones -las llamadas Service Principals- vivitas y con permisos sobre la suscripción. Y he decidido hacerme un pequeño powershell para limpiarlas.

Powershelleando que son dos lineas

La verdad es que es muy sencillo.

Lo primero es identificarme en Azure, y decirle cual va a ser la suscripción que voy a utilizar como contexto de ejecución; a continuación recupero todos los Service Principals del directorio activo; y, por último, dentro de un bucle obtengo su nombre, lo muestro y lo borro.

Login-AzureRmAccount
#Get-AzureRmSubscription
$suscriptionId = "xxxx-xxx-xxx-xxx-xxxxxxxxx"
Set-AzureRmContext -SubscriptionId $suscriptionId

#Borra los Service Principal de las aplicaciones
$applications = Get-AzureRmADApplication
Foreach($application in $applications)
{
    Write-Host $application.DisplayName
    Remove-AzureRmADApplication -objectid $application.ObjectId -Verbose -Force
}

La principal mejora que tengo que hacerle a este script es el utilizar un identificador de la suscripción para evitar tener que andar utilizando mis credenciales.

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.