Artykuł w wersji pdf - Support Online Sp. z o. o.
Transkrypt
Artykuł w wersji pdf - Support Online Sp. z o. o.
Raportowanie wykonania kopii zapasowych (DPM + PowerShell) Do jednych z codziennych obowiązków administracyjnych należy przeglądanie statusów wykonywania nocnych kopii zapasowych. Dla 90% ogółu społeczeństwa pierwszą czynnością wykonywaną zaraz po uruchomieniu komputera w pracy jest uruchomienie klienta pocztowego i sprawdzenie poczty. Dla ułatwienia i 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 opisany został 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} Strona 1 z 4 $Data | ConvertTo-Html -head $htmlhead | Out-File C:\DPM_Reports\DPM_$(get-date -format d).html } function WyslijEmail() { #Nadawca wiadomosci $Nadawca = "[email protected]" #Odbiorca wiadomosci $Odbiorca = "[email protected]" #Adres serwera smtp $Serwer = "serwer.firma.com" #Temat wiadomości $Temat = $env:computername+": DPM Backup – Raport z dnia "+(GetDate -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ń: Strona 2 z 4 3. Należy utworzyć zadanie uruchamiane z najwyższymi uprawnieniami: 4. Dodanie akcji do zaplanowanego zadania Należy uruchomić PowerShell z wykonaniem skryptu: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noninteractive -nologo C:\Scripts\BackupCheck.ps1 Strona 3 z 4 Poniżej wygenerowany i wysłany raport: StartTime EndTime Status ProtectionGroupName DataSources 2013-06-19 03:00:01 2013-06-19 03:26:10 Succeeded Linux - Virtual Server \Backup Using Saved State\Linux 2013-06-19 00:00:01 2013-06-19 00:02:14 Succeeded FSSrv- Shared Folders D:\ 2013-06-16 01:00:01 2013-06-16 01:42:45 Succeeded SQLSrv - Virtual Server \Backup Using Child Partition Snapshot\SQLSrv 2013-06-19 00:30:00 2013-06-19 00:58:06 Succeeded DC1Srv - Virtual Server \Backup Using Child Partition Snapshot\DC1Srv 2013-06-17 09:02:45 2013-06-17 10:19:59 Succeeded ExchSrv - Virtual Server \Backup Using Child Partition Snapshot\ExchSrv 2013-06-19 05:00:00 2013-06-19 05:11:06 Succeeded 2013-06-19 01:30:01 2013-06-19 01:47:41 Succeeded DC2Srv - Virtual Server 2013-06-19 00:00:01 2013-06-19 00:00:25 Succeeded ExchSrv - Exchange Databases SQLSrv - MS SQL 2012 + C_Drive Mailbox Database 2, Public Folders Databese, Mailbox Database 1 \Backup Using Child Partition Snapshot\DC2Srv C:\ Raport zostanie również zarchiwizowany na dysku w lokalizacji C:\DPM_Reports\ Artykuł opracował: Bartek Kamiński, Support Online Sp. z o.o. świadczy szeroki zakres usług IT dla firm oraz instytucji: częściowa i kompleksowa obsługa informatyczna, system kopii zapasowych plików SBBS, telefonia VoIP, audyty informatyczne, helpdesk 24h. Jeśli jesteście Państwo zainteresowani wsparciem w tym zakresie lub innymi usługami informatycznymi – zapraszamy do kontaktu. Support Online Sp. z o.o. tel. + 22 335 28 00 e-mail: [email protected] www.support-online.pl Źródła: 1. Opracowanie własne 2. http://msdn.microsoft.com/pl-pl/library/system.net.mail.aspx 3. http://technet.microsoft.com/en-us/library/hh881679%28v=sc.10%29.aspx Strona 4 z 4