System Center Data Protection Manager

Get Last Tape Backup, neues SCDPM PowerShell Script

Heute mal wieder mit einem neuen PowerShell Script um euch die Arbeit mit System Center Data Protection Manager zu erleichtern.

Hatte schon länger vor diese Script zu schreiben, als dann gestern ein User aus den TechNet Foren die Frage nach so einem Script stellt, habe ich es dann heute fertiggestellt.

Das Script liest zuerst alle eure Datasources aus um aus jeder Datasource den letzten Recoverypoint auf Tape zu ermitteln.

Das ganze wir dann mit den Tape Informationen in eine CSV Datei exportiert.

Das Script

Hier erkläre ich die einzelnen Teile des Scriptes, am Ende gibt’s den Download zum gesamten Script.

Zuerst setzen wir ein paar Variablen wie den Dateinamen unserer CSV Datei, den Speicherort.

#Import Modules
Import-Module dataprotectionmanager

#Variables
$DPMServer="$env:COMPUTERNAME"
$FileName="LastTape.csv"
$LogPath="C:\_BaseIT"

#Settings
$File=$LogPath+"\"+$FileName
$Array=@()
$Library=Get-DPMLibrary -DPMServerName $DPMServer

 

Jetzt beginnt schon unser Script und die Logig

Zu Beginn holen wir uns alle Datasources von unserem DPM Server.

#Magic
$DSList=Get-ProtectionGroup -DPMServerName $DPMServer | Get-Datasource

Danach holen wir uns für jede Datasource den letzten Recoverypoint auf Tape, holen uns dazu das passende Tape und schreiben diese Informationen in ein Array welches wir zum Abschluss als CSV exportieren.

foreach ($DS in $DSList) 
{
    $RP=$DS | Get-RecoveryPoint | where {$_.Location -eq "Media"} | Sort-Object -Property Backuptime -Descending | select -First 1 | select *

    $Tape=Get-DPMTape -DPMLibrary $Library | where {$_.ID -eq $Rp.RecoverySourceLocations.MediaMapList.MediaId}

    $obj = New-Object -TypeName PSObject
    $obj | Add-Member Noteproperty  -Name DatasourceName -value $DS.Name
    $obj | Add-Member Noteproperty -Name Sourcecomputer -value $DS.Computer
    $obj | Add-Member Noteproperty -Name BackupTime -value $RP.BackupTime
    $obj | Add-Member Noteproperty -Name Location -value $Tape.Location.tostring()
    $obj | Add-Member Noteproperty -Name Medialabel -value $Tape.Medialabel
    $obj | Add-Member Noteproperty -Name Barcode -value $Tape.Barcode.Value
    
    $Array+=$obj
}



$Array  | Sort expire -Verbose | Export-Csv -Path $File -Encoding ascii -NoTypeInformation

Das Resultat sollte dann so aussehen

Get Last Tape Backup from SCDPM

TechNet Gallery Download

Download auf der TechNet Gallery: https://gallery.technet.microsoft.com/Get-Last-Tape-Backup-List-a1ac1498

Solltet ihr Fragen, Wünsche oder Probleme mit dem Script haben, schreibt mir ein Kommentar

Alle meine TechNet Gallery Downloads findet ihr hier: 1jrYQoA

BITTE BEWERTET MEINE DOWNLOADS IN DER TECHNET GALLERY UND SAGT MIR WAS IHR EUCH VON DER NÄCHSTEN VERSION WÜNSCHT.

Michael Seidl aka Techguy

Leave a Comment

Your email address will not be published. Required fields are marked *

*