robimassa

Another Subtext Powered Blog
posts - 17, comments - 0, trackbacks - 0

My Links

News

Archives

Windows server 2012 -- Backup del SystemState tramite PowerShell

Lo script riportato esegue il backup del system state su un discco VHDx raggiungibile tramite share

i passi seguiti per il salvataggio sono i seguenti

  • montaggio del disco virtuale, creato in precedenza, a cui è stata assegnata l’unita Z:
  • esecuzione della copia del systemstate mediante Windows Server Backup
  • verifica dello stato di esecuzione della copia tramite lo stato di ritorno dello script
  • invio di una mail con l’indicazione dello stato di esecuzione della procedura
  • smontaggio del disco

Una volta terminato il processo, il file VHDX contenente il backup del System State può essere copiato e salvato per  sicurezza  

#4 ottobre 2013 R.Massa
#Esecuzione backup systemstate ed invio mail di notifica sullo stato finale del processo

#funzione per invio Mail viene passato il parametro contenente la stringa del corpo messaggio
function SendMail ($a)
{

    # Costanti
    #Server Mail
     $smtpServer = "1.2.3.4"
        
     #Creazione dell'oggetto MAIl
     $MailMessage = new-object Net.Mail.MailMessage

   #Crezione dell'oggetto MAIL Server
     $smtp = new-object Net.Mail.SmtpClient($smtpServer)

    #Composizione della Mail
     $MailMessage.From =
mittente@dominio.it
     $MailMessage.ReplyTo =
mittente@dominio.it
     $MailMessage.To.Add(
destinatario1@dominio.it,destinatario2@dominio.it)
     $MailMessage.subject = "Backup SystemState"
     $MailMessage.body = $a

    #invio del messaggio
     $smtp.Send($MailMessage)
 
}

# mount del disco VHDX dedicato alla copia del Systemstate
Mount-DiskImage
\\SRV01\backup\systemstate\srv02.vhdx
# avvio del backup systemstate su Z:
wbadmin start systemstatebackup -backupTarget:z: -quiet
# Dismount del volume utilizzato dal backup
disMount-DiskImage
\\SRV01\backup\systemstate\srv02.vhdx
#
#echo $LastExitCode

#test della condizione in $LASTEXITCODE "0" exit normale "-2" con errori
#se 0 invio mail con messaggio OK altrimenti messaggio di attenzione
if ($LastExitCode -eq "0" ) {
    $CorpoMail = "Backup systemstate eseguito correttamente "
    SendMail $CorpoMail
    }
else {
    $CorpoMail = "Backup systemstate eseguito con errori controllare "
    SendMail $CorpoMail
    exit
    }

Print | posted on Monday, October 07, 2013 10:08 AM |

Feedback

No comments posted yet.

Post Comment

Title  
Name  
Email
Url
Comment   
Please add 3 and 5 and type the answer here:

Powered by:
Powered By Subtext Powered By ASP.NET