[Reporting Windows Backup Server 2016] Script de génération de rapport quotidien

Publié: 10/02/2017 dans Windows Server 2016
Tags:, , , , , ,

Lors de mes interventions chez différents clients, j’ai constaté que les IT sur place ont souvent du mal à répondre aux questions suivantes:

  • Vérifiez-vous régulièrement le bon déroulement /réalisation des sauvegardes ?
  • Vos sauvegardes sont-elles testées et validées ?
  • Avez-vous déjà effectué une restauration à partir des sauvegardes réalisées suite à un incident /crash d’un ou plusieurs serveurs ?

Il faut savoir que le Reporting des sauvegardes est un élément critique et important pour toute direction informatique.

Réaliser des sauvegardes c’est bien, mais savoir les utiliser en cas de problème est OBLIGATOIRE.

Quand vous réalisez vos sauvegardes, vous devez vous assurer que celles-ci ont bien été effectuées, car il arrive parfois que des sauvegardes échouent suite à une saturation d’espace disque (sur l’emplacement de sauvegarde) ou simplement à cause d’un problème de performance lié au serveur Windows Server.

Vous pouvez utiliser le script PowerShell suivant pour générer un rapport quotidien sur vos sauvegardes et le recevoir automatiquement par mail (mail de notification) sur une adresse email que vous spécifierez dans le code du script.

Notez que ce script vous détaillera également les éventuels messages d’erreurs remontés au niveau des journaux d’événements de Windows, plus précisément les journaux liés à la fonctionnalité « Sauvegarde Windows Server ».

Il suffit de remplacer les valeurs utilisées dans le script par celles qui correspondent à votre environnement, enregistrer les modifications, exécuter le script et le tour est joué J.

===================================================================

# Définir le rapport

$Date = Get-Date

$DateDemarrage = $Date.AddDays(-2)

$MonRapport = « Rapport de sauvegarde pour $Env:LABRDS01 du $Date`n »

# Collecte d’informations sur le jeu de sauvegarde

$MonRapport += « `tBackup Sets »

$MonRapport += Get-WBBackupSet | `

Where-Object BackupTime -gt $DateDemarrage | Out-String

Get-WBBackupSet | where BackupTime -gt $DateDemarrage | Out-String

# Création d’une collection de journaux d’événements importants

$MonRapport += « `Messages des journaux d’événements »

$Evenements = 1, 4, 5, 8, 9, 14, 17, 18, 19, 20, 21, 22, 49, 50, 52,

100, 224, 227, 517, 518, 521, 527, 528, 544, 545, 546, 561, 564,

612

# Recherche d’événements sur les journaux d’événements Windows

$MonRapport += Get-WinEvent -LogName « Microsoft-Windows-Backup » | `

Where-Object {$_.TimeCreated -ge $DateDemarrage} | `

Where-Object {$Evenements -contains $_.ID} | `

Format-Table TimeCreated, LevelDisplayName, ID, Message | Out-String

# Recherche de messages d’erreurs dans les journaux liés aux « Sauvegardes »

$MonRapport += « `Journaux d’erreurs Sauvegarde Windows Server »

$Journaux = Get-ChildItem C:\Windows\Logs\WindowsServerBackup*.log | `

Where-Object LastWriteTime -gt $DateDemarrage

$MonRapport += $Journaux | Select-String « ^Erreur » | Out-String

# Envoi de notification par mail

Send-MailMessage -From Notification@BecomeITExpert.com `

-To Admin@BecomeITExpert.com -SmtpServer mail.BecomeITExpert.com -Body <span style="color:#ff6600;">$MonRapport</span>

-Subject « Rapport de Sauvegarde pour $Env:LABRDS01 du $Date »

#Enregistrer et planifier le script de sauvegarde à l’aide du Planificateur de tâches

$Action = New-ScheduledTaskAction -Execute `

« %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe » `

-Argument « C:\Script2Sauvegarde.ps1 »

# Planifier l’exécution de la tâche

$DeclencheurTache = New-ScheduledTaskTrigger -Daily -At 10pm

# Définir le compte utilisateur pour l’exécution de la tâche planifiée et script

$UtilisateurTache = « BecomeITExpert\UtilisateurScriptADM »

$Mot2PasseTache = ‘MyP@$$w0rd*’

# Nommer et enregistrer la tâche

$NomTache = « Rapport de sauvegarde quotidien »

Register-ScheduledTask -TaskName $NomTache -Action $Action `

-Trigger $DeclencheurTache -User $UtilisateurTache -Password $Mot2PasseTache

 

Pour pouvoir recevoir les notifications par mail, vous devez vous assurer que le serveur depuis lequel vous exécutez le script arrive bien à communiquer avec votre serveur SMTP (local ou public) : checker les flux > e.g : SMTP 25/TCP

 

Cet article est un extrait de l’eBook [Windows Backup Server 2016 – Déploiement, Gestion et Automatisation en Entreprise]

Publicités
commentaires
  1. lokmane dit :

    bonjour Hicham,
    est-ce que cela est applicable pour les sauvegarde planifié avec la fonctionnalité « sauvegarde windows server » ??

    merci d’avance.

    cordialement.

    • Hicham KADIRI dit :

      Salut lokmane, tout à fait, le script est justement fait pour une utilisation avec la fonctionnalité « Sauvegarde Windows Server » de Windows Server 2016, mais aussi Windows Server 2012 R2. il s’agit d’un extrait d’un Ultimate guide très détaillé sur cette feature. n’hésitez pas à consulter la page de l’eBook sur BecomeITExpert.com

      • Lokmane dit :

        Merci beaucoup pour ta réponse et aussi pour ce partage d’information, je jetterais un coup d’œil sur la page .

        Cordialement.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s