PowerShell Techguy.at

GetDPMTapeList in der Version 1.1 verfügbar

PowerShell 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: http://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: http://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

Leave a Comment

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

*