Raportowanie wykonania kopii zapasowych (DPM + PowerShell)
Autor: Support Online Sp. z o.o.
Publikacja: 2013-08-06
W artykule tym opisano przykład wysyłania raportów wiadomością e-mail z wykorzystaniem System.Net.Mail (http://msdn.microsoft.com/pl-pl/library/system.net.mail.aspx ) i oprogramowania do wykonywania kopii bezpieczeństwa System Center - Data Protection Manager 2012 (http://www.microsoft.com/pl-pl/server-cloud/system-center/data-protection-manager.aspx )
Zawartość skryptu generującego plik z raportem oraz wysyłka wiadomości e-mail:
#Importowanie modułu MS DPM 2012
Import-Module DataProtectionManager
function GenerujRaport()
{
#Zawartość nagłówka html ze stylem CSS, żeby raport się ładniej prezentował:)
$htmlhead=@'
'@
#Generowanie pliku z raportem
$Data = Get-ProtectionGroup -DpmServerName NazwaSerwera | foreach {Get-DPMJob $_ -Newest| Select-Object StartTime,EndTime,Status,ProtectionGroupName,DataSources}
$Data | ConvertTo-Html -head $htmlhead | Out-File C:\DPM_Reports\DPM_$(get-date -format d).html
}
function WyslijEmail()
{
#Nadawca wiadomosci
$Nadawca = "notify@firma.com"
#Odbiorca wiadomosci
$Odbiorca = "twoj@adres.com"
#Adres serwera smtp
$Serwer = "serwer.firma.com"
#Temat wiadomości
$Temat = $env:computername+": DPM Backup – Raport z dnia "+(Get-Date -Format d)
#Zawartość wiadomości z pliku wygenerowanego wczesniej
$Zawartosc = (Get-Content C:\DPM_Reports\DPM_$(Get-Date -format d).Html)
#Dane do konta do wysyłki, ustawienia portów serwera, ssl itp.
$SMTPclient = new-object System.Net.Mail.SmtpClient $Serwer
$SMTPClient.port = 587
$SMTPclient.EnableSsl = $true
$SMTPAuthUsername = "nazwa_uzytkownika"
$SMTPAuthPassword = "haslo"
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($SMTPAuthUsername, $SMTPAuthPassword)
$Wiadomosc = new-object System.Net.Mail.MailMessage $Nadawca, $Odbiorca, $Temat, $Zawartosc
$Wiadomosc.IsBodyHtml = $true;
$SMTPclient.Send($Wiadomosc)
}
#Wywołanie funkcji GenerujRaport
GenerujRaport
#Wywołanie funkcji WyslijEmail
WyslijEmail
Uruchamianie skryptu:
1. Do uruchamiania skryptów powershell z plików należy zmienić ExecutionPolicy poleceniem:
Set-ExecutionPolicy –unrestricted
(http://technet.microsoft.com/pl-PL/library/dd347628.aspx)
Firma IT - gdzie szukać?
Poniżej przedstawiamy ranking 36 826 Specjalistów IT najlepszych w 2026 roku w poszczególnych miastach powiatowych: