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