Question
Export html avec couleur :)
- azalee
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 11
- Remerciements reçus 2
il y a 9 mois 3 semaines - il y a 9 mois 3 semaines #34008
par azalee
Réponse de azalee sur le sujet Export html avec couleur :)
Pourquoi l'export html conserve tous les keyID & CertificatID alors que dans le foreach on ne souhaite que les expirés jusqu'à j60.
L'export html ne prend pas en compte ce paramètre.
Est-il impossible de faire cela en export html !???
je viens de tomber sur un article Microsoft qui exporte en csv en prenant bien la date
learn.microsoft.com/en-us/entra/identity...ith-expiring-secrets
L'export html ne prend pas en compte ce paramètre.
Est-il impossible de faire cela en export html !???
je viens de tomber sur un article Microsoft qui exporte en csv en prenant bien la date
learn.microsoft.com/en-us/entra/identity...ith-expiring-secrets
Pièces jointes :
Dernière édition: il y a 9 mois 3 semaines par azalee.
Connexion ou Créer un compte pour participer à la conversation.
- Fabien
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 142
- Remerciements reçus 21
il y a 9 mois 3 semaines #34010
par Fabien
Réponse de Fabien sur le sujet Export html avec couleur :)
Les utilisateur(s) suivant ont remercié: azalee
Connexion ou Créer un compte pour participer à la conversation.
- azalee
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 11
- Remerciements reçus 2
il y a 9 mois 3 semaines #34014
par azalee
Réponse de azalee sur le sujet Export html avec couleur :)
J'ai supprimé l'html, redémarré le PC, même testé sur d'autres Vms mais l'export et tjs identique avec la totalité des KeysID et certificats
Connexion ou Créer un compte pour participer à la conversation.
- Fabien
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 142
- Remerciements reçus 21
il y a 9 mois 3 semaines #34015
par Fabien
Réponse de Fabien sur le sujet Export html avec couleur :)
Connexion ou Créer un compte pour participer à la conversation.
- azalee
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 11
- Remerciements reçus 2
il y a 9 mois 3 semaines - il y a 9 mois 3 semaines #34017
par azalee
Réponse de azalee sur le sujet Export html avec couleur :)
Bonjour,
Le Foreach fonctionne car il affiche bien seulement ceux entre expiré à J+60 (voir en PJ)
Par contre l'export html les prend tous
#Modèle HTML du corps du mail
$HTML = @"
<body style="background-color: #181a1b; color: #FFFFFF;">
<h1 style="font-size: large;"> Dates de péremption des certificats Azure du VarReportDate</h1>
VarKeyID
VarCertificateID
</body>
"@
####### KeyID
#Connexion Azure
Connect-AzureAD
#Récupération des applications Azure
$AADAppsColl = Get-AzureADApplication -All:$true
#Traitement pour chaque application
foreach($AADApps in $AADAppsColl) {
$AppID = $AADApps.AppID
$AADApp = Get-AzureADApplication -Filter "AppID eq '$AppID'"
$PassCreds = $AADApp.PasswordCredentials
if ($null -ne $PassCreds) {
foreach($PassCred in $PassCreds) {
# Récupérer la date du jour
$dateDuJour = Get-Date
# Calculer la différence en jours entre la date d'exipration et la date du jour
$diffEnJours = ($PassCred.EndDate - $dateDuJour).Days
# Appliquer la mise en forme conditionnelle
# Expiration le jour même ou inférieur --> Rouge
if ($diffEnJours -lt 1)
{
Write-Host "Le Client Secret de l'application : $($AADApp.DisplayName)"
Write-Host "KeyID: $($PassCred.KeyID)"
Write-Host "Expiré le : $($PassCred.EndDate)" -ForegroundColor Red
Write-Host `r
#Couleur Rouge
$color = "#FF0000"
}
# Expiration entre 1 à 30 jours --> Magenta
elseif ($diffEnJours -ge 1 -and $diffEnJours -le 30)
{
Write-Host "Le Client Secret de l'application : $($AADApp.DisplayName)"
Write-Host "KeyID: $($PassCred.KeyID)"
Write-Host "Expire le : $($PassCred.EndDate)" -ForegroundColor Magenta
Write-Host `r
#Couleur Magenta
$color = "#CC26FF"
}
# Expiration entre 31 à 60 jours --> Vert
elseif ($diffEnJours -gt 31 -and $diffEnJours -le 60)
{
Write-Host "Le Client Secret de l'application : $($AADApp.DisplayName)"
Write-Host "KeyID: $($PassCred.KeyID)"
Write-Host "Expire le : $($PassCred.EndDate)" -ForegroundColor Green
Write-Host `r
#Couleur Verte
$color="#4CFF00"
}
#Sinon rien
else{}
}
#Incrémentation du tableau KeyID
$KeyID += @"
<table style="border-collapse: collapse; border: 1px solid #FFFFFF;" cellpadding="5">
<td bgcolor="#0054BC" style="border-collapse: collapse; border: 1px solid #FFFFFF;">Azure Application Name</td>
<td style="border-collapse: collapse; border: 1px solid #FFFFFF;">$($AADApp.DisplayName)</td>
<tr>
<td bgcolor="#0054BC" style="border-collapse: collapse; border: 1px solid #FFFFFF;">KeyID</td>
<td style="border-collapse: collapse; border: 1px solid #FFFFFF;">$($PassCred.KeyID)</td>
<tr>
<td bgcolor="#0054BC" style="border-collapse: collapse; border: 1px solid #FFFFFF;">Expire</td>
<td style="border-collapse: collapse; border: 1px solid #FFFFFF; color: $color">$($PassCred.EndDate)</td>
<tr>
</table>
<br>
"@
}
}
####### CertificateID
$KeyCreds = $AADApp.KeyCredentials
if ($null -ne $KeyCreds) {
foreach($KeyCred in $KeyCreds) {
# Récupérer la date du jour
$dateDuJour = Get-Date
# Calculer la différence en jours entre la date d'exipration et la date du jour
$diffEnJours = ($KeyCred.EndDate - $dateDuJour).Days
# Expiration le jour même ou inférieur --> Rouge
if ($diffEnJours -lt 1)
{
Write-Host "Le Certificat de l'application : $($AADApp.DisplayName)"
Write-Host "KeyID: $($KeyCred.KeyID)"
Write-Host "Expiré le : $($KeyCred.EndDate)" -ForegroundColor Red
Write-Host `r
#Couleur Rouge
$color = "#FF0000"
}
# Expiration entre 1 à 30 jours --> Magenta
elseif ($diffEnJours -ge 1 -and $diffEnJours -le 30)
{
Write-Host "Le Certificat de l'application : $($AADApp.DisplayName)"
Write-Host "KeyID: $($KeyCred.KeyID)"
Write-Host "Expire le : $($KeyCred.EndDate)" -ForegroundColor Magenta
Write-Host `r
#Couleur Magenta
$color = "#CC26FF"
}
# Expiration entre 31 à 60 jours --> Vert
elseif ($diffEnJours -gt 31 -and $diffEnJours -le 60)
{
Write-Host "Le Certificat de l'application : $($AADApp.DisplayName)"
Write-Host "KeyID: $($KeyCred.KeyID)"
Write-Host "Expire le : $($KeyCred.EndDate)" -ForegroundColor Green
Write-Host `r
#Couleur Verte
$color="#4CFF00"
}
#Sinon rien
else{}
#Incrémentation du tableau CertificateID
$CertificateID += @"
<table style="border-collapse: collapse; border: 1px solid #FFFFFF;" cellpadding="5">
<td bgcolor="#0054BC" style="border-collapse: collapse; border: 1px solid #FFFFFF;">Azure Application Name</td>
<td style="border-collapse: collapse; border: 1px solid #FFFFFF;">$($AADApp.DisplayName)</td>
<tr>
<td bgcolor="#0054BC" style="border-collapse: collapse; border: 1px solid #FFFFFF;">Certificate ID</td>
<td style="border-collapse: collapse; border: 1px solid #FFFFFF;">$($KeyCred.KeyID)</td>
<tr>
<td bgcolor="#0054BC" style="border-collapse: collapse; border: 1px solid #FFFFFF;">Expire</td>
<td style="border-collapse: collapse; border: 1px solid #FFFFFF; color: $color">$($KeyCred.EndDate)</td>
<tr>
</table>
<br>
"@
}
}
#Récupération de la date du jour
$ReportDate = Get-Date -Format "dd/MM/yyyy"
#Remplace les variables suivantes dans le modèle HTML : VarReportDate, VarTableau
$HTML= $HTML.Replace("VarReportDate",$ReportDate)
$HTML= $HTML.Replace("VarKeyID",$KeyID)
$HTML= $HTML.Replace("VarCertificateID",$CertificateID)
#Generate file html (Optional)
Add-Type -AssemblyName System.Web
[System.Web.HttpUtility]::HtmlDecode($html) | Out-File "C:\Temp\00\Result.html"
Le Foreach fonctionne car il affiche bien seulement ceux entre expiré à J+60 (voir en PJ)
Par contre l'export html les prend tous
#Modèle HTML du corps du mail
$HTML = @"
<body style="background-color: #181a1b; color: #FFFFFF;">
<h1 style="font-size: large;"> Dates de péremption des certificats Azure du VarReportDate</h1>
VarKeyID
VarCertificateID
</body>
"@
####### KeyID
#Connexion Azure
Connect-AzureAD
#Récupération des applications Azure
$AADAppsColl = Get-AzureADApplication -All:$true
#Traitement pour chaque application
foreach($AADApps in $AADAppsColl) {
$AppID = $AADApps.AppID
$AADApp = Get-AzureADApplication -Filter "AppID eq '$AppID'"
$PassCreds = $AADApp.PasswordCredentials
if ($null -ne $PassCreds) {
foreach($PassCred in $PassCreds) {
# Récupérer la date du jour
$dateDuJour = Get-Date
# Calculer la différence en jours entre la date d'exipration et la date du jour
$diffEnJours = ($PassCred.EndDate - $dateDuJour).Days
# Appliquer la mise en forme conditionnelle
# Expiration le jour même ou inférieur --> Rouge
if ($diffEnJours -lt 1)
{
Write-Host "Le Client Secret de l'application : $($AADApp.DisplayName)"
Write-Host "KeyID: $($PassCred.KeyID)"
Write-Host "Expiré le : $($PassCred.EndDate)" -ForegroundColor Red
Write-Host `r
#Couleur Rouge
$color = "#FF0000"
}
# Expiration entre 1 à 30 jours --> Magenta
elseif ($diffEnJours -ge 1 -and $diffEnJours -le 30)
{
Write-Host "Le Client Secret de l'application : $($AADApp.DisplayName)"
Write-Host "KeyID: $($PassCred.KeyID)"
Write-Host "Expire le : $($PassCred.EndDate)" -ForegroundColor Magenta
Write-Host `r
#Couleur Magenta
$color = "#CC26FF"
}
# Expiration entre 31 à 60 jours --> Vert
elseif ($diffEnJours -gt 31 -and $diffEnJours -le 60)
{
Write-Host "Le Client Secret de l'application : $($AADApp.DisplayName)"
Write-Host "KeyID: $($PassCred.KeyID)"
Write-Host "Expire le : $($PassCred.EndDate)" -ForegroundColor Green
Write-Host `r
#Couleur Verte
$color="#4CFF00"
}
#Sinon rien
else{}
}
#Incrémentation du tableau KeyID
$KeyID += @"
<table style="border-collapse: collapse; border: 1px solid #FFFFFF;" cellpadding="5">
<td bgcolor="#0054BC" style="border-collapse: collapse; border: 1px solid #FFFFFF;">Azure Application Name</td>
<td style="border-collapse: collapse; border: 1px solid #FFFFFF;">$($AADApp.DisplayName)</td>
<tr>
<td bgcolor="#0054BC" style="border-collapse: collapse; border: 1px solid #FFFFFF;">KeyID</td>
<td style="border-collapse: collapse; border: 1px solid #FFFFFF;">$($PassCred.KeyID)</td>
<tr>
<td bgcolor="#0054BC" style="border-collapse: collapse; border: 1px solid #FFFFFF;">Expire</td>
<td style="border-collapse: collapse; border: 1px solid #FFFFFF; color: $color">$($PassCred.EndDate)</td>
<tr>
</table>
<br>
"@
}
}
####### CertificateID
$KeyCreds = $AADApp.KeyCredentials
if ($null -ne $KeyCreds) {
foreach($KeyCred in $KeyCreds) {
# Récupérer la date du jour
$dateDuJour = Get-Date
# Calculer la différence en jours entre la date d'exipration et la date du jour
$diffEnJours = ($KeyCred.EndDate - $dateDuJour).Days
# Expiration le jour même ou inférieur --> Rouge
if ($diffEnJours -lt 1)
{
Write-Host "Le Certificat de l'application : $($AADApp.DisplayName)"
Write-Host "KeyID: $($KeyCred.KeyID)"
Write-Host "Expiré le : $($KeyCred.EndDate)" -ForegroundColor Red
Write-Host `r
#Couleur Rouge
$color = "#FF0000"
}
# Expiration entre 1 à 30 jours --> Magenta
elseif ($diffEnJours -ge 1 -and $diffEnJours -le 30)
{
Write-Host "Le Certificat de l'application : $($AADApp.DisplayName)"
Write-Host "KeyID: $($KeyCred.KeyID)"
Write-Host "Expire le : $($KeyCred.EndDate)" -ForegroundColor Magenta
Write-Host `r
#Couleur Magenta
$color = "#CC26FF"
}
# Expiration entre 31 à 60 jours --> Vert
elseif ($diffEnJours -gt 31 -and $diffEnJours -le 60)
{
Write-Host "Le Certificat de l'application : $($AADApp.DisplayName)"
Write-Host "KeyID: $($KeyCred.KeyID)"
Write-Host "Expire le : $($KeyCred.EndDate)" -ForegroundColor Green
Write-Host `r
#Couleur Verte
$color="#4CFF00"
}
#Sinon rien
else{}
#Incrémentation du tableau CertificateID
$CertificateID += @"
<table style="border-collapse: collapse; border: 1px solid #FFFFFF;" cellpadding="5">
<td bgcolor="#0054BC" style="border-collapse: collapse; border: 1px solid #FFFFFF;">Azure Application Name</td>
<td style="border-collapse: collapse; border: 1px solid #FFFFFF;">$($AADApp.DisplayName)</td>
<tr>
<td bgcolor="#0054BC" style="border-collapse: collapse; border: 1px solid #FFFFFF;">Certificate ID</td>
<td style="border-collapse: collapse; border: 1px solid #FFFFFF;">$($KeyCred.KeyID)</td>
<tr>
<td bgcolor="#0054BC" style="border-collapse: collapse; border: 1px solid #FFFFFF;">Expire</td>
<td style="border-collapse: collapse; border: 1px solid #FFFFFF; color: $color">$($KeyCred.EndDate)</td>
<tr>
</table>
<br>
"@
}
}
#Récupération de la date du jour
$ReportDate = Get-Date -Format "dd/MM/yyyy"
#Remplace les variables suivantes dans le modèle HTML : VarReportDate, VarTableau
$HTML= $HTML.Replace("VarReportDate",$ReportDate)
$HTML= $HTML.Replace("VarKeyID",$KeyID)
$HTML= $HTML.Replace("VarCertificateID",$CertificateID)
#Generate file html (Optional)
Add-Type -AssemblyName System.Web
[System.Web.HttpUtility]::HtmlDecode($html) | Out-File "C:\Temp\00\Result.html"
Pièces jointes :
Dernière édition: il y a 9 mois 3 semaines par azalee.
Connexion ou Créer un compte pour participer à la conversation.
- Fabien
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 142
- Remerciements reçus 21
il y a 9 mois 3 semaines #34018
par Fabien
Réponse de Fabien sur le sujet Export html avec couleur :)
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.200 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Export html avec couleur :)