Question Export html avec couleur :)

Plus d'informations
il y a 5 mois 10 heures - il y a 5 mois 10 heures #34020 par Fabien
Réponse de Fabien sur le sujet Export html avec couleur :)
Ca n'est pas trop évident car je n'ai pas accès à Azure.
Il devrait afficher que les tableaux correspondants à la condition.

#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 entre 30 à 60 jours --> Vert
    if ($diffEnJours -gt 30 -and $diffEnJours -le 60) {
        #Couleur Verte   
        $color="#4CFF00"
        #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>

"@
    }

    #Expiration entre 1 à 30 jours --> Magenta
    elseif ($diffEnJours -ge 1 -and $diffEnJours -le 30) {
        #Couleur Magenta
        $color = "#CC26FF"
        #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>

"@
    }

    #Expiration le jour même ou inférieur --> Rouge
    elseif ($diffEnJours -lt 1) {
        #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>

"@
    }

    #Sinon rien
    else{}
}
}


####### 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
    #Expiration entre 30 à 60 jours --> Vert
    if ($diffEnJours -gt 30 -and $diffEnJours -le 60) {
        #Couleur Verte   
        $color="#4CFF00"
        #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>

"@
    }

    #Expiration entre 1 à 30 jours --> Magenta
    elseif ($diffEnJours -ge 1 -and $diffEnJours -le 30) {
        #Couleur Magenta
        $color = "#CC26FF"
        #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>

"@
    }

    #Expiration le jour même ou inférieur --> Rouge
    elseif ($diffEnJours -lt 1) {
        #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>

"@
    }

    #Sinon rien
    else{}
}
}
}
    
#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"
Dernière édition: il y a 5 mois 10 heures par Fabien.
Les utilisateur(s) suivant ont remercié: azalee

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 5 mois 9 heures #34021 par azalee
Réponse de azalee sur le sujet Export html avec couleur :)
Cela fonctionne !! Merci beaucoup pour votre patiente et disponibilité :)
Les utilisateur(s) suivant ont remercié: Fabien

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.117 secondes
Propulsé par Kunena