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 8 mois 1 semaine #33988
par azalee
Export html avec couleur :) a été créé par azalee
Bonjour,
J'ai trouvé un script magnifique sur l'export des dates de péremption des certificats azure. (voir résultat en PJ)
Je souheterai que le résultat soit exporté dans un fichier, je pense *.html, en gardant les couleur concernant les dates d'expiration.
Merci d'avance pour votre aide
voici le script :
Connect-AzureAD
$AADAppsColl = Get-AzureADApplication -All:$true
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) {
if($PassCred.EndDate -gt (Get-Date).AddDays(30) -and $PassCred.EndDate -le (Get-Date).AddDays(90)){
Write-Host "AzureAD Application Name: $($AADApp.DisplayName)"
Write-Host "KeyID: $($PassCred.KeyID)"
Write-Host "Expires: $($PassCred.EndDate)" -ForegroundColor Green
Write-Host `r
}
if($PassCred.EndDate -gt (Get-Date) -and $PassCred.EndDate -le (Get-Date).AddDays(30)) {
Write-Host "AzureAD Application Name: $($AADApp.DisplayName)"
Write-Host "KeyID: $($PassCred.KeyID)"
Write-Host "Expires: $($PassCred.EndDate)" -ForegroundColor Orange
Write-Host `r
}
if($PassCred.EndDate -le (Get-Date)) {
Write-Host "AzureAD Application Name: $($AADApp.DisplayName)"
Write-Host "KeyID: $($PassCred.KeyID)"
Write-Host "Expired: $($PassCred.EndDate)" -ForegroundColor Red
Write-Host `r
}
}
}
$KeyCreds = $AADApp.KeyCredentials
if ($null -ne $KeyCreds) {
foreach($KeyCred in $KeyCreds) {
if($KeyCred.EndDate -gt (Get-Date).AddDays(30) -and $KeyCred.EndDate -le (Get-Date).AddDays(90)){
Write-Host "AzureAD Application Name: $($AADApp.DisplayName)"
Write-Host "Certificate ID: $($KeyCred.KeyID)"
Write-Host "Expires: $($KeyCred.EndDate)" -ForegroundColor Green
Write-Host `r
}
if($KeyCred.EndDate -gt (Get-Date) -and $KeyCred.EndDate -le (Get-Date).AddDays(30)) {
Write-Host "AzureAD Application Name: $($AADApp.DisplayName)"
Write-Host "Certificate ID: $($KeyCred.KeyID)"
Write-Host "Expires: $($KeyCred.EndDate)" -ForegroundColor Orange
Write-Host `r
}
if($KeyCred.EndDate -le (Get-Date)) {
Write-Host "AzureAD Application Name: $($AADApp.DisplayName)"
Write-Host "Certificate ID: $($KeyCred.KeyID)"
Write-Host "Expired: $($KeyCred.EndDate)" -ForegroundColor Red
Write-Host `r
}
}
}
}
J'ai trouvé un script magnifique sur l'export des dates de péremption des certificats azure. (voir résultat en PJ)
Je souheterai que le résultat soit exporté dans un fichier, je pense *.html, en gardant les couleur concernant les dates d'expiration.
Merci d'avance pour votre aide
voici le script :
Connect-AzureAD
$AADAppsColl = Get-AzureADApplication -All:$true
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) {
if($PassCred.EndDate -gt (Get-Date).AddDays(30) -and $PassCred.EndDate -le (Get-Date).AddDays(90)){
Write-Host "AzureAD Application Name: $($AADApp.DisplayName)"
Write-Host "KeyID: $($PassCred.KeyID)"
Write-Host "Expires: $($PassCred.EndDate)" -ForegroundColor Green
Write-Host `r
}
if($PassCred.EndDate -gt (Get-Date) -and $PassCred.EndDate -le (Get-Date).AddDays(30)) {
Write-Host "AzureAD Application Name: $($AADApp.DisplayName)"
Write-Host "KeyID: $($PassCred.KeyID)"
Write-Host "Expires: $($PassCred.EndDate)" -ForegroundColor Orange
Write-Host `r
}
if($PassCred.EndDate -le (Get-Date)) {
Write-Host "AzureAD Application Name: $($AADApp.DisplayName)"
Write-Host "KeyID: $($PassCred.KeyID)"
Write-Host "Expired: $($PassCred.EndDate)" -ForegroundColor Red
Write-Host `r
}
}
}
$KeyCreds = $AADApp.KeyCredentials
if ($null -ne $KeyCreds) {
foreach($KeyCred in $KeyCreds) {
if($KeyCred.EndDate -gt (Get-Date).AddDays(30) -and $KeyCred.EndDate -le (Get-Date).AddDays(90)){
Write-Host "AzureAD Application Name: $($AADApp.DisplayName)"
Write-Host "Certificate ID: $($KeyCred.KeyID)"
Write-Host "Expires: $($KeyCred.EndDate)" -ForegroundColor Green
Write-Host `r
}
if($KeyCred.EndDate -gt (Get-Date) -and $KeyCred.EndDate -le (Get-Date).AddDays(30)) {
Write-Host "AzureAD Application Name: $($AADApp.DisplayName)"
Write-Host "Certificate ID: $($KeyCred.KeyID)"
Write-Host "Expires: $($KeyCred.EndDate)" -ForegroundColor Orange
Write-Host `r
}
if($KeyCred.EndDate -le (Get-Date)) {
Write-Host "AzureAD Application Name: $($AADApp.DisplayName)"
Write-Host "Certificate ID: $($KeyCred.KeyID)"
Write-Host "Expired: $($KeyCred.EndDate)" -ForegroundColor Red
Write-Host `r
}
}
}
}
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
- Fabien
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 140
- Remerciements reçus 20
il y a 8 mois 6 jours - il y a 8 mois 6 jours #33990
par Fabien
Réponse de Fabien sur le sujet Export html avec couleur :)
Bonjour Azalee,
Je suis en train de transformer ton code pour l'export en HTML avec la conservation des couleurs.
Je t'ai mis un exemple de l'export en pièce jointe.
Cela te convient ?
PS: N'oublie pas de présenter dans la section Qui êtes-vous PowerShelleurs ?
Je suis en train de transformer ton code pour l'export en HTML avec la conservation des couleurs.
Je t'ai mis un exemple de l'export en pièce jointe.
Cela te convient ?
PS: N'oublie pas de présenter dans la section Qui êtes-vous PowerShelleurs ?
Pièces jointes :
Dernière édition: il y a 8 mois 6 jours par Fabien.
Les utilisateur(s) suivant ont remercié: azalee
Connexion ou Créer un compte pour participer à la conversation.
- Fabien
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 140
- Remerciements reçus 20
il y a 8 mois 6 jours #33991
par Fabien
Réponse de Fabien sur le sujet Export html avec couleur :)
Azalee,
Voici le code Powershell pour exporter tes résultats en HMTL.
J'ai essayé d'adapter avec le code que tu as mis.
Je reste dispo si tu as besoin d'aide
Voici le code Powershell pour exporter tes résultats en HMTL.
J'ai essayé d'adapter avec le code que tu as mis.
Je reste dispo si tu as besoin d'aide
#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
if ($diffEnJours -gt 30) {
#Couleur Verte
$color="#4CFF00"
}
elseif ($diffEnJours -ge 1 -and $diffEnJours -le 30) {
#Couleur Magenta
$color = "#CC26FF"
}
else {
#Couleur Rouge
$color = "#FF0000"
}
#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
# Appliquer la mise en forme conditionnelle
if ($diffEnJours -gt 30) {
#Couleur Verte
$color="#4CFF00"
}
elseif ($diffEnJours -ge 1 -and $diffEnJours -le 30) {
#Couleur Magenta
$color = "#CC26FF"
}
else {
#Couleur Rouge
$color = "#FF0000"
}
#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\Result.html"
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 8 mois 6 jours #33992
par azalee
Réponse de azalee sur le sujet Export html avec couleur :)
Merci mon dieu
Quelle maîtrise
le résultat est top....je viens de le tester, par contre comment faire pour n'afficher au maximum à 60 jours car là ceux qui expirent en 2025.....pas besoin de les avoir.
J'imagine que c'est là qu'il faut le définir mais pas réussi.....
# Calculer la différence en jours entre la date d'expiration et la date du jour
$diffEnJours = ($PassCred.EndDate - $dateDuJour).Days
Quelle maîtrise
le résultat est top....je viens de le tester, par contre comment faire pour n'afficher au maximum à 60 jours car là ceux qui expirent en 2025.....pas besoin de les avoir.
J'imagine que c'est là qu'il faut le définir mais pas réussi.....
# Calculer la différence en jours entre la date d'expiration et la date du jour
$diffEnJours = ($PassCred.EndDate - $dateDuJour).Days
Connexion ou Créer un compte pour participer à la conversation.
- Fabien
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 140
- Remerciements reçus 20
il y a 8 mois 6 jours #33995
par Fabien
Réponse de Fabien sur le sujet Export html avec couleur :)
Azalee,
Pour affiner l'affichage des couleurs en fonction de la date d'expiration, il faut changer dans la partie "#Appliquer la mise en forme conditionnelle".
Voici un bout de code pour vérifier et affiner tes besoins :
Pour affiner l'affichage des couleurs en fonction de la date d'expiration, il faut changer dans la partie "#Appliquer la mise en forme conditionnelle".
Voici un bout de code pour vérifier et affiner tes besoins :
# Récupérer la date du jour
$dateDuJour = Get-Date
#Date d'exemple
$dateEnd = Get-Date "11/02/2024"
# Calculer la différence en jours entre la date d'exipration et la date du jour
$diffEnJours = ($dateEnd - $dateDuJour).Days
# Appliquer la mise en forme conditionnelle
if ($diffEnJours -gt 30 -and $diffEnJours -le 90) {
#Couleur Verte
$color="#4CFF00"
}
elseif ($diffEnJours -ge 1 -and $diffEnJours -le 30) {
#Couleur Magenta
$color = "#CC26FF"
}
elseif ($diffEnJours -le 1) {
#Couleur Rouge
$color = "#FF0000"
}
else{}
#Affichage du code couleur en Hexa
$color
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 8 mois 5 jours #33996
par azalee
Réponse de azalee sur le sujet Export html avec couleur :)
Merci encore pour votre réactivité.
Bon, je n'arrive pas à avoir dans l'export html seulement ceux qui expirent ou ont expiré à j+60jours.
en repartant de votre script d'origine, est-il possible sinon de classer (car j'ai plus de 150 résultats) l'export html par date d'expiration du plus récent au plus ancien
Merci d'avance et désolé pour ma nullité
Bon, je n'arrive pas à avoir dans l'export html seulement ceux qui expirent ou ont expiré à j+60jours.
en repartant de votre script d'origine, est-il possible sinon de classer (car j'ai plus de 150 résultats) l'export html par date d'expiration du plus récent au plus ancien
Merci d'avance et désolé pour ma nullité
Pièces jointes :
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.091 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Export html avec couleur :)