none
Script rapport HTML

    Discussion générale

  • Bonjour,

    J'ai fais ça en script, et je veux les résultats sur un fichier html avec les titres que j'ai mis.

    J'y arrive pas j'ai besoin d'un coup de pouce svp.

    Import-Module ActiveDirectory
    
    convertTo-HTML -body "Top 10 des plus vielles connections AD" 
     
    function Get-ADUsersLastLogon()
    # Fonction permettant d'avoir la dernière connection d'un utilisateur AD
    {
    # Déclaration des variables
    
      $dcs = Get-ADDomainController #-Filter {Name -like "*"}
      # Cherche sur tout les domaines 
      $users = Get-ADUser -Filter *
      # Cherche sur tout les utilisateurs
      $time = 0
      # Valeur du temps égale 0
      #$exportFilePath = "d:\lastLogon.csv"
      # Exportation des valeur dans le fichier lastlogon à la racine de D
      $columns = "name,username,datetime"
      # Créer des colonnes 
      $buf = @()
     
    
      #Out-File -filepath $exportFilePath -force -InputObject $columns
      # Création du fichier avec les colonnes
    
      foreach($user in $users)
      # Pour chaque utilisateur dans utilisateurs
      {
        foreach($dc in $dcs)
        # Pour chaque contrôleur de domaine dans controleur de domaine
        { 
          $hostname = $dc.HostName
          # ?
          $currentUser = Get-ADUser $user.SamAccountName | Get-ADObject -Server $hostname -Properties lastLogon
          # L'utilisateur actuel égale cette commande
    
          if($currentUser.LastLogon -gt $time) 
          # Si la dernière connexion de l'utilisateur actuel est plus grand que le temps 0
          {
            $time = $currentUser.LastLogon
            # LastLogon est un paramètre
          }
        }
    
        $dt = [DateTime]::FromFileTime($time)
        $item = {} | Select Name,Username,LastLogon
        $item.Name = $user.Name
        $item.Username = $user.SamAccountName
        $item.LastLogon = $dt
        
        $buf += $item
        
        #$row = ","++","+
    
        #Out-File -filepath $exportFilePath -append -noclobber -InputObject $row
        #$row | Sort -Descending datetime | Select-Object -First 10
        
        
    
        $time = 0
      }
      
      $buf
    }
       
      Get-ADUsersLastLogon | Select-Object -First 10  
    
    ##########################################################################################################################################################################################
    
    convertTo-HTML -body "Comptes bloqué" 
    
    get-aduser -f * -pr lastlogondate | Where-object { $_.Enabled -eq $False } | ft samaccountname,LastLogonDate,Enabled -auto   
    
    ##########################################################################################################################################################################################
    
    convertTo-HTML -body "Etat des réplications"
    
    Get-Service –Name ntfrs
    dcdiag /test:replications   
    
    ##########################################################################################################################################################################################
    
    convertTo-HTML -body "Log du mois erreur + warning"
    
    $date = get-date 
    $mois = get-date -format "MM"
    $annee = get-date -format "yyyy"
    
    
    
    get-eventlog -log "Windows Powershell" -entryType Error -After $mois/01/$annee -Before $date
    get-eventlog -log "Windows Powershell" -entryType Warning -After $mois/01/$annee -Before $date
    
    get-eventlog -log "Active Directory Web Services" -entryType Error -After $mois/01/$annee -Before $date
    get-eventlog -log "Active Directory Web Services" -entryType Warning -After $mois/01/$annee -Before $date
    
    get-eventlog -log "Application" -entryType Error -After $mois/01/$annee -Before $date
    get-eventlog -log "Application" -entryType Warning -After $mois/01/$annee -Before $date
    
    get-eventlog -log "DFS Replication" -entryType Error -After $mois/01/$annee -Before $date
    get-eventlog -log "DFS Replication" -entryType Warning -After $mois/01/$annee -Before $date
    
    get-eventlog -log "Directory Service" -entryType Error -After $mois/01/$annee -Before $date
    get-eventlog -log "Directory Service" -entryType Warning -After $mois/01/$annee -Before $date
    
    get-eventlog -log "DNS Server" -entryType Error -After $mois/01/$annee -Before $date
    get-eventlog -log "DNS Server" -entryType Warning -After $mois/01/$annee -Before $date
    
    get-eventlog -log "File Replication Service" -entryType Error -After $mois/01/$annee -Before $date
    get-eventlog -log "File Replication Service" -entryType Warning -After $mois/01/$annee -Before $date
    
    get-eventlog -log "HardwareEvents" -entryType Error -After $mois/01/$annee -Before $date
    get-eventlog -log "HardwareEvents" -entryType Warning -After $mois/01/$annee -Before $date
    
    get-eventlog -log "Internet Explorer" -entryType Error -After $mois/01/$annee -Before $date
    get-eventlog -log "Internet Explorer" -entryType Warning -After $mois/01/$annee -Before $date
    
    get-eventlog -log "Key Management Service Security" -entryType Error -After $mois/01/$annee -Before $date
    get-eventlog -log "Key Management Service Security" -entryType Warning -After $mois/01/$annee -Before $date
    
    get-eventlog -log "System" -entryType Error -After $mois/01/$annee -Before $date
    get-eventlog -log "System" -entryType Warning -After $mois/01/$annee -Before $date
    
    
    ##########################################################################################################################################################################################
    
    convertTo-HTML -body "Nombre de compte actif/inactif"
    
    import-module activedirectory
    $listeOrdinateur = get-aduser -f * -pr lastlogondate | ft samaccountname,LastLogonDate,Enabled -auto
    get-aduser -f * -pr lastlogondate | ft samaccountname,LastLogonDate,Enabled -auto
    $listeOrdinateur.Count
    
    ##########################################################################################################################################################################################
    
    convertTo-HTML -body "Mot de passe machine expiré"
    
    Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires
    
    ##########################################################################################################################################################################################
    
    convertTo-HTML -body "Emplacement des rôles FSMO"
    
    Netdom Query FSMO
    DSQuery Server -HasFSMO Schema
    DSQuery Server -HasFSMO Name
    DSQuery Server -HasFSMO PDC
    DSQuery Server -HasFSMO Infr
    DSQuery Server -HasFSMO RID
    
    ###########################################################################################################################################################################################
    
    convertTo-HTML -body "Vérification du temps"
    
    DSQuery Server -HasFSMO PDC
    w32tm /query /status
    
    ###########################################################################################################################################################################################
    
    convertTo-HTML -body "Liste des comptes avec mot de passe jamais expiré"
    
    Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires
    
    ###########################################################################################################################################################################################
    
    Out-File C:\Users\jmariller\Desktop\rapport.html
    

     

    Merci d'avance :)

    vendredi 5 janvier 2018 13:02

Toutes les réponses

  • Bonjour,

    Cela ressemble à du php à certain moment mais je ne vois aucune balise <?php    ?> et même pour le html comme <body>   </body>.

    Le problème vient surement de là..

    vendredi 5 janvier 2018 15:38
  • En faite c'est plusieurs scripts que j'ai fusionné et je veux que les résultats soit ressortie en html 
    lundi 15 janvier 2018 07:50
  • Import-Module ActiveDirectory
    
    ######################################################
    
    Get-ADUser -Filter "Enabled -eq 'True'" -Properties LastLogonDate | Select-Object SamAccountName, LastLogonDate, Enabled 
    
    ######################################################
    
    Get-Service –Name ntfrs
    dcdiag /test:replications

    Je reformule mon besoin.

    J'ai 2 scripts que j'ai fusionné en 1. Je veux le résultat des 2 en html 

    J'ai trouvé cette exemple.

    Get-ADUser -Filter "Enabled -eq 'True'" -Properties LastLogonDate | 
    Select-Object SamAccountName, LastLogonDate, Enabled | 
    ConvertTo-Html | Out-File C:\report.html
    Le pipe avec le out-File se met à la fin de la commande comment on fait quand j'ai plusieurs commande dans un script et que je veux tout les résultats ?

    jeudi 25 janvier 2018 11:13
  • help please
    jeudi 25 janvier 2018 14:54
  • Bonjour,

    Pour répondre rapidement, si vous exécutez tout dans un script, vous placez le 

     | ConvertTo-Html | Out-File C:\report.html

    en fin de chaque ligne de commande, mais avec l'option "-append"

    ce qui pourrait donner:

     | ConvertTo-Html | Out-File -append C:\report.html 

    Cela ajoute les données au fichier présent. Si vous voulez écraser le fichier existant à chaque exécution du script, ça peut donner cela:

    [commande 1]  | ConvertTo-Html | Out-File C:\report.html #le fichier est écrasé

    [commande 2]  | ConvertTo-Html | Out-File -append C:\report.html # les données sont ajoutées dans le fichier

    [commande 3]  | ConvertTo-Html | Out-File -append C:\report.html # les données sont ajoutées dans le fichier

    .....

    J'espère vous avoir un petit peu aidé...

    Bonne journée,


    Laurent Dumont PRESTINFORM - Revel

    jeudi 25 janvier 2018 15:20
  • Alors du coup ça ma un peu aidé merci, j'ai utilisé l'option "-append" mais au lieu de mettre en sortie .html j'ai mis en .csv car sinon ça ne fonctionnait pas bien.

    Du coup j'ai un fichier csv qui est parfait mais je cherche toujours à le convertir automatiquement avec Powershell mais il m'affiche cette erreur quand j'essaye de faire ça.

    Import-Csv C:\Users\jmariller\Desktop\report3.csv | Select-Object -Property * | ConvertTo-Html | Out-File C:\Users\jmariller\Desktop\report3.html -Append

    Impossible de traiter l'argument, car la valeur de l'argument « name » n'est pas valide. Modifiez la valeur de l'argument « name » et réexécutez l'opération.
    Au niveau de ligne : 8 Caractère : 11

    C'est le dernier truc que j'arrive pas à faire après mon script sera bon. 

    vendredi 26 janvier 2018 14:35
  • Bonjour,

    oui effectivement la conversion notamment du résultat du get-aduser en HTML ne se passe pas toute seule.... Mais vous avez contourné ce problème.

    Pouvez vous nous communiquer quelques lignes "factices" de votre fichier csv car dans ma compréhension du message, c'est le traitement d'une colonne "name" qui poserait problème.



    Laurent Dumont PRESTINFORM - Revel

    vendredi 26 janvier 2018 14:43
  • Name                                                                      Username                                                                 LastLogon                                                               
    ----                                                                      --------                                                                 ---------                                                               
    Administrateur                                                            Administrateur                                                           26/01/2018 14:01:01                                                     
    krbtgt                                                                    krbtgt                                                                   01/01/1601 01:00:00                                                     
    Invité                                                                    Invité                                                                   01/01/1601 01:00:00                                                     
    IUSR_OSCAR                                                                IUSR_OSCAR                                                               01/01/1601 01:00:00                                                     
    SvcCOPSSH                                                                 SvcCOPSSH                                                                01/01/1601 01:00:00                                                     
    testimp                                                                   testimp                                                                  01/01/1601 01:00:00                                                     
    testuser                                                                  testuser                                                                 01/01/1601 01:00:00                                                     
    tina                                                                      tina                                                                     01/01/1601 01:00:00                                                     
    SUPPORT_388945a0                                                          SUPPORT_388945a0                                                         01/01/1601 01:00:00                                                     
    atempo                                                                    atempo      

    vendredi 26 janvier 2018 14:45
  • Bonjour,

    je me suis recréé un fichier séparé par des tabulations à partir de vos données, et je n'ai pas d'erreur d’exécution...

    Voici le code HTML généré:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>HTML TABLE</title>
    </head><body>
    <table>
    <colgroup><col/><col/><col/></colgroup>
    <tr><th>Name</th><th>Username</th><th>LastLogon</th></tr>
    <tr><td>----</td><td>--------</td><td>---------</td></tr>
    <tr><td>Administrateur</td><td>Administrateur</td><td>26/01/2018 14:01:01</td></tr>
    <tr><td>krbtgt</td><td>krbtgt</td><td>01/01/1601 01:00:00</td></tr>
    <tr><td>Invit�</td><td>Invit�</td><td>01/01/1601 01:00:00</td></tr>
    <tr><td>IUSR_OSCAR</td><td>IUSR_OSCAR</td><td>01/01/1601 01:00:00</td></tr>
    <tr><td>SvcCOPSSH</td><td>SvcCOPSSH</td><td>01/01/1601 01:00:00</td></tr>
    <tr><td>testimp</td><td>testimp</td><td>01/01/1601 01:00:00</td></tr>
    <tr><td>testuser</td><td>testuser</td><td>01/01/1601 01:00:00</td></tr>
    <tr><td>tina</td><td>tina</td><td>01/01/1601 01:00:00</td></tr>
    <tr><td>SUPPORT_388945a0</td><td>SUPPORT_388945a0</td><td>01/01/1601 01:00:00</td></tr>
    <tr><td>atempo</td><td>atempo</td><td></td></tr>
    </table>
    </body></html>

    Je suis en PS 5.1 

    $PSVersionTable.PSVersion

    Major  Minor  Build  Revision

    -----  -----  -----  --------

    5      1      14409  1012

    Là je ne vois pas dans l'immédiat...



    Laurent Dumont PRESTINFORM - Revel

    vendredi 26 janvier 2018 15:19
  • Si pardon une modification:

    Import-csv -Delimiter "`t"

    Pour définir la tabulation en délimitation de champs.


    Laurent Dumont PRESTINFORM - Revel

    vendredi 26 janvier 2018 15:21
  • Bonjour,

    si vous considérez votre problème résolu, merci d'indiquer le réponse qui vous a été utile.

    Sinon, dites nous comment nous pourrions encore vous aider ou comment vous avez résolu votre problème.


    Laurent Dumont PRESTINFORM - Revel

    lundi 29 janvier 2018 10:14