Podany adres e-mail nie jest powiązany
z żadnym zapytaniem.
Powiedz jak możemy Ci pomóc

Support Online Sp. z o.o.

Wiadomość została wysłana

Trzymaj rękę na pulsie! Wykonawca
niedługo
powinien się z Tobą
skontaktować.

Wiadomość do:

Raportowanie wykonania kopii zapasowych (DPM + PowerShell)

Autor: Support Online Sp. z o.o., publikacja: 2013-08-06

Do jednych z codziennych obowiązków administracyjnych należy analizowanie statusów przeprowadzania nocnych kopii zapasowych. Dla dziewięćdziesięciu procent ogółu społeczeństwa pierwszą czynnością wykonywaną tuż po uruchomieniu komputera w pracy jest uruchomienie klienta pocztowego i sprawdzenie poczty. Dla ułatwienia oraz uniknięcia błędu ludzkiego (zapomnienia o sprawdzeniu), warto zautomatyzować tą czynność. Raport wówczas przyjdzie rano pocztą elektroniczną, przed rozpoczęciem pracy.

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=@'
<style>
body {background-color:#FFFFFF; font-family: Calibri; font-size: 13px;} table {border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;} th {border-width: 1px;padding: 2px;border-style: solid;border-color: black; background-color:#E0E8F0;} td {border-width: 1px;padding: 2px;border-style: solid;border-color: black; background-color:#FFFFFF;}
</style>
'@

#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)

  2. Skrypt należy dodać do zaplanowanych zadań: Zdjęcie nr 1
  3. Należy utworzyć zadanie uruchamiane z najwyższymi uprawnieniami: Zdjęcie nr 2
  4. Dodanie akcji do zaplanowanego zadania Zdjęcie nr 3

Należy uruchomić PowerShell z wykonaniem skryptu:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noninteractive -nologo

C:\Scripts\BackupCheck.ps1

Poniżej wygenerowany i wysłany raport:

Zdjęcie nr 4

Raport zostanie również zarchiwizowany na dysku w lokalizacji C:\DPM_Reports\

Opracowano:
Bartek Kamiński
Support Online Sp. z o.o.

Firma IT - gdzie szukać?

Poniżej przedstawiamy ranking 31 979 Specjalistów IT najlepszych w 2024 roku w poszczególnych miastach powiatowych: