Exportar registros de la aplicación Entra ID Informe de vencimiento de certificados y secretos
Necesita una forma rápida que le muestre todos los certificados o secretos de registros de la aplicación Entra ID y su fecha de vencimiento. Si no renuevas antes de ese tiempo, la conexión a la aplicación ya no funcionará. Por eso es importante no dejar que caduquen los certificados o secretos de los registros de la aplicación. En este artículo, aprenderá cómo exportar registros de la aplicación Entra ID con sus certificados y fechas de vencimiento de los secretos del cliente a un informe utilizando Microsoft Graph PowerShell.
Verifique las fechas de vencimiento de los certificados y secretos de registro de aplicaciones en Microsoft Entra
Para comprobar si el certificado o secreto de registros de la aplicación ha caducado, siga los pasos a continuación:
- Inicie sesión en el centro de administración de Microsoft Entra
- Expanda Identidad > Aplicaciones > Registros de aplicaciones
- Seleccione Todas las aplicaciones
- Haga clic en la aplicación para la que desea comprobar el estado de caducidad del certificado.
En nuestro ejemplo, tenemos 4 aplicaciones y la aplicación Kairo muestra que el certificado y los secretos han caducado.
- Haga clic en Certificados y secretos
- Seleccione Certificados o Secretos del cliente
En nuestro ejemplo, la aplicación Kairo solo tiene secretos de clientes y ningún certificado. Un secreto de cliente caducó (rojo) y el otro caducará pronto (naranja).
Para renovar el secreto de cliente en Microsoft Entra ID, debemos crear un nuevo secreto de cliente y eliminar el secreto de cliente caducado.
Revisar todas las aplicaciones y comprobar la fecha de caducidad del certificado o del secreto del cliente, incluido su estado, lleva tiempo. Entonces, la mejor manera es ejecutar un script de PowerShell que cree un informe con toda la información.
Veamos el script de PowerShell en el siguiente paso.
Obtenga registros de la aplicación Entra ID, certificados y fechas de vencimiento de secretos con PowerShell
Una excelente manera de obtener todos los registros de aplicaciones con sus certificados y fechas de vencimiento secretas es con Microsoft Graph PowerShell.
El script Get-AppCertSecStatus.ps1 obtendrá todos los registros de aplicaciones en Microsoft Entra ID y recopilará los siguientes detalles:
- Nombre de la aplicación
- ID de aplicación
- Nombre de credencial
- Tipo de inicio de sesión
- CreadoFechaHora
- FechaInicioHora
- Fecha de finalización y hora
- Estado de caducidad
- Tipo de autenticación
- Días restantes
- Dueño
- ID del propietario
Paso 1. Prepare el script de PowerShell Get-AppCertSecStatus
Cree dos carpetas en la unidad (C:):
- Temperatura
- Guiones
Descargue el script de PowerShell Get-AppCertSecStatus.ps1 y colóquelo en la carpeta C:\scripts. El script exportará el archivo CSV a la carpeta C:\temp.
Asegúrese de que el archivo esté desbloqueado para evitar errores al ejecutar el script. Lea más en el artículo Error sin firma digital al ejecutar el script de PowerShell.
Otra opción es copiar y pegar el siguiente código en el Bloc de notas. Asígnele el nombre Get-AppCertSecStatus.ps1 y colóquelo en la carpeta C:\scripts.
<#
.SYNOPSIS
Get-AppCertSecStatus.ps1
.DESCRIPTION
Export Entra ID app registrations certificates and secrets expiration date.
.LINK
www.alitajran.com/export-entra-id-app-registrations-certificates-secrets/
.NOTES
Written by: ALI TAJRAN
Website: www.alitajran.com
LinkedIn: linkedin.com/in/alitajran
.CHANGELOG
V1.00, 01/14/2024 - Initial version
V1.10, 04/30/2024 - Added AppId property to the results
#>
# CSV file path to export
$CsvPath = "C:\temp\AppRegistrationsReport.csv"
# Connect to MgGraph with necessary scopes
Connect-MgGraph "Directory.Read.All", "Application.Read.All"
# Create an array
$Results = @()
# Get properties
$Properties = @(
'AppId',
'DisplayName',
'PasswordCredentials',
'KeyCredentials',
'Id',
'SignInAudience',
'CreatedDateTime'
)
# Get Applications
$Apps = Get-MgApplication -All -Property $Properties | Select-Object $Properties
foreach ($App in $Apps) {
# Get Owner information
$Owner = Get-MgApplicationOwner -All -ApplicationId $App.Id
$Username = if ($Owner) { $Owner.AdditionalProperties.userPrincipalName -join ';' } else { "N/A" }
$OwnerID = if ($Owner) { $Owner.Id -join ';' } else { "N/A" }
# Check application for client secret
if ($null -ne $App.PasswordCredentials) {
foreach ($Creds in $App.PasswordCredentials) {
# Calculate days left until expiration
$DaysLeft = ($Creds.EndDateTime - (Get-Date)).Days
# Create custom object for client secret results
$AppObject = [PSCustomObject]@{
ApplicationName = $App.DisplayName
ApplicationID = $App.AppId
CredentialName = $Creds.DisplayName
SignInType = $App.SignInAudience
CreatedDateTime = $App.CreatedDateTime
StartDateTime = $Creds.StartDateTime
EndDateTime = $Creds.EndDateTime
ExpireStatus = if ($Creds.EndDateTime -lt (Get-Date)) { "Expired" } else { "Not expired" }
AuthType = "Client_Secret"
DaysLeft = $DaysLeft
Owner = $Username
OwnerID = $OwnerID
}
# Output results to array
$Results += $AppObject
}
}
# Check application for certificate
if ($null -ne $App.KeyCredentials) {
foreach ($Cert in $App.KeyCredentials) {
# Calculate days left until expiration
$DaysLeft = ($Cert.EndDateTime - (Get-Date)).Days
# Create custom object for certificate results
$AppObject = [PSCustomObject]@{
ApplicationName = $App.DisplayName
ApplicationID = $App.AppId
CredentialName = $Cert.DisplayName
SignInType = $App.SignInAudience
CreatedDateTime = $App.CreatedDateTime
StartDateTime = $Cert.StartDateTime
EndDateTime = $Cert.EndDateTime
ExpireStatus = if ($Cert.EndDateTime -lt (Get-Date)) { "Expired" } else { "Not expired" }
AuthType = "Certificate"
DaysLeft = $DaysLeft
Owner = $Username
OwnerID = $OwnerID
}
# Output results to array
$Results += $AppObject
}
}
}
# Sort the results based on DaysLeft
$Results = $Results | Sort-Object -Property DaysLeft
# Export to CSV file
$Results | Export-Csv $CsvPath -Encoding utf8 -NoTypeInformation
# Out-GridView
$Results | Out-GridView -Title "Microsoft Entra ID app registrations report"- Línea 21: Editar la ruta del archivo CSV
Paso 2. Instale Microsoft Graph PowerShell
Ejecute Windows PowerShell como administrador e instale Microsoft Graph PowerShell.
Install-Module Microsoft.Graph -ForceInstall-Module Microsoft.Graph.Beta -AllowClobber -ForceImportante: Instale siempre los módulos Microsoft Graph PowerShell y Microsoft Graph Beta PowerShell. Esto se debe a que algunos cmdlets aún no están disponibles en la versión final y no funcionarán. Actualice ambos módulos a la última versión antes de ejecutar un cmdlet o script para evitar errores y resultados incorrectos.
Paso 3. Ejecute el script de PowerShell Get-AppCertSecStatus
Obtenga todos los certificados de registro de la aplicación Entra ID y las fechas de vencimiento de los secretos, incluido su estado, con PowerShell.
Ejecute el siguiente comando para ejecutar el script Get-AppCertSecStatus.ps1.
c:\scripts\.\Get-AppCertSecStatus.ps1Un Out-GridView mostrará toda la información que necesitas.
Paso 4. Abra el informe de registros de la aplicación Entra ID
El script de PowerShell Get-AppCertSecStatus.ps1 exporta todos los registros de aplicaciones con su certificado y estado de vencimiento del secreto del cliente a un archivo CSV.
Busque el archivo AppRegistrationsReport.csv en la ruta C:\temp.
Abra el archivo CSV con su aplicación favorita. En nuestro ejemplo, es Microsoft Excel.
El informe de caducidad de los secretos del cliente y los certificados de registro de la aplicación Entra ID se ve muy bien.
Leer más: Configurar la autenticación basada en certificados de Exchange Online para scripts desatendidos »
Conclusión
Aprendió a exportar certificados y secretos de registros de aplicaciones Entra ID con Microsoft Graph PowerShell. Ejecute el script, recopilará toda la información y la exportará a un informe de archivo CSV. Asegúrese de renovar el certificado o el secreto del cliente antes de que caduque para que la conexión a la aplicación permanezca intacta.
¿Disfrutaste este artículo? También te puede interesar Exportar informe de usuarios inactivos de Microsoft 365. No olvides seguirnos y compartir este artículo.




