Es gibt ein Update des GetDPMTapeList Powershell Scriptes. Mir ist 1 Bug aufgefallen und ich habe 2 Änderungen gemacht. Der Bug hat das Expire-date betroffen welches in das Export File geschrieben wurde, dies konnte unter Umständen in Excel falsch formatiert sein. Es ist nun nicht mehr notwendig den DPM Server anzugeben, es wird automatisch der Rechnername des lokalen Rechners verwendet auf dem das Script ausgeführt wird Zusätzlich wird das Exportfile in das selbe Verzeichnis geschrieben in dem auch das Script ausgeführt wird, es muss nur noch der Dateiname konfiguriert werden.
Details
Ich musste das ExpireDate formatieren da ich beim Import des CSV Files in eine Excel Datei manchmal ein falsches Datum hatte. Original-Code
$Tape.Barcode.Value+";"+$Tape.DisplayString+";"+$Tape.Location.Id+";"+$ExpDate | Out-File -FilePath $File -Append
Neuer Code
$Tape.Barcode.Value+";"+$Tape.DisplayString+";"+$Tape.Location.Id+";"+(Get-Date($ExpDate) -format G) | Out-File -FilePath $File -Append
also habe ich einfach beim Output in das CSV File, die Variable $ExpDate mit Get-Date ins richtige Format gebracht.
Die 2 Änderungen betreffen den DPM Servernamen, hier wir mit der Variable “$env:COMPUTERNAME” der lokale Rechnername verwendet, somit muss hier nichts angepasst werden, solange das Script am DPM Server ausgeführt wird. Eine andere Änderung liest den Ordner aus, in dem das Script ausgeführt wird und speichert dort das CSV File.
$FileName="DPMTapeList.csv" #Settings $Path = $MyInvocation.MyCommand | Split-Path $File=$Path+"\"+$FileName
Mit diesen Änderungen kann das Script einfach auf den DPM Server kopiert und sofort gestartet werden.
Das Script
Hier noch das gesamte Script in der Version 1.1 inkl. ChangeLog
######################################################## # Name: GetDPMTapeList.ps1 # Creator: Michael Seidl aka Techguy # CreationDate: 17.01.2014 # LastModified:23.01.2014 # Version: 1.1 # Doc: https://www.techguy.at/tag/getdpmtapelist/ # # Description: Read all Tapes in Library which are ready # to take Offiste, get the Expiration Date an Epxort this # Information in a CSV file # # Set the File Name # # Version 1.1 - FIX: Format the Output ExpireDate # - CHANGE: DPMServer takes local Computername # - CHANGE: File will be saved at Script Location # Version 1.0 - RTM ######################################################## # # www.techguy.at # www.facebook.com/TechguyAT # www.twitter.com/TechguyAT # michael@techguy.at ######################################################## #Import Modules Import-Module dataprotectionmanager #Variables $DPMServer="$env:COMPUTERNAME" $FileName="DPMTapeList.csv" #Settings $Library=Get-DPMLibrary -DPMServerName $DPMServer $Tapes=Get-Tape -DPMLibrary $Library | where {$_.IsOffsiteReady -eq $True} $Path = $MyInvocation.MyCommand | Split-Path $File=$Path+"\"+$FileName #Delete File and create new one if (Test-Path $File) {Remove-Item $File} "Barcode;Name;Slot;Expire"| Out-File -FilePath $File -Append #Magic foreach ($Tape in $Tapes) { $RPs=Get-RecoveryPoint -Tape $Tape foreach ($RP in $RPs) { $ExpDate = Get-Date if ($ExpDate -lt $RP.recoverysourcelocations[0].expirydate) { $ExpDate = $RP.recoverysourcelocations[0].expirydate } } $Tape.Barcode.Value+";"+$Tape.DisplayString+";"+$Tape.Location.Id+";"+(Get-Date($ExpDate) -format G) | Out-File -FilePath $File -Append }
Alle Informationen und Updates zu diesem Script erhaltet ihr unter diesem Link: https://www.techguy.at/tag/getdpmtapelist/
Den Download zum aktuellen Script findet ihr in der TechNet Gallery: http://gallery.technet.microsoft.com/DPM-Tape-List-with-1f9fc697
Bitte nehmt euch die Zeit und bewertet meine Downloads in der TechNet Gallery, würde mich sehr freuen.
Hier findet ihr alle meine Download in der TechNet Gallery: http://gallery.technet.microsoft.com/site/search?f%5B0%5D.Type=Tag&f%5B0%5D.Value=TechguyAT&f%5B0%5D.Text=TechguyAT
Michael Seidl aka Techguy