SCDPM abgelaufene Tapes als Frei markieren PowerShell

PowerShellHeute mal wieder ein PowerShell Script für den SCDPM.

Diesmal handelt es sich um ein Script, welches alle abgelaufenen Tapes als “Frei” markiert und somit wieder beschreibbar macht.

Sehr nützlich dies einmal täglich am DPM Server laufen zu lassen, somit müsst ihr euch nicht selbst darum kümmern.

Kommen wir zum Script und zum Ablauf.

Das Script

Unser DPM Server hat momentan 2 abgelaufene Tapes.

image

Nun kommen wir zu unserem Script, diese besteht wieder mal aus der Definition des DPM Servers und dem Import des DPM Modules.

#Kann so belassen werden wenn das Script am DPM Server ausgeführt wird, ansonsten den Hostnamen eintragen
$DPMServerName=“$env:COMPUTERNAME“

#Holt sich aus der Registry den Pfad der SCDPM installation und importiert das PS-Modul, funktioniert nur ab SCDPM 2012
$installPath = (Get-ItemProperty „HKLM:\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Setup“ „UIInstallPath“).UIInstallPath
$dpmModuleFullPath = $installPath + „Modules\DataProtectionManager\DataProtectionManager.psd1“
Import-Module $dpmModuleFullPath

Danach testen wir ob der DPM Server auch verfügbar ist, sollte dies nicht der Fall sein wird das Script beendet.

#Test ob der DPM Server verfügbar ist
if (!(Connect-DPMServer $DPMServerName))
{
Write-Error „Failed to connect To DPM server $DPMServerName“
exit 1
}

Danach holen wir uns eine Liste aller Libraries die der DPM kennt, und prüfen jedes Tape ob dies abgelaufen ist, ist dies der Fall wird es als Frei markiert, zusätzlich gibt’s noch einen nette Ausgabe

$LibraryList = Get-DPMLibrary -DPMServerName $DPMServerName
foreach ($library in $LibraryList)
{
$expiredTapeList = @(Get-Tape -DPMLibrary $library |
? {$_ -is [Microsoft.Internal.EnterpriseStorage.Dls.UI.ObjectModel.LibraryManagement.ArchiveMedia] -and

$_.DatasetState -eq „Recyclable“})
if ($expiredTapeList.Length -gt 0)
{
Write-Host „Marking $($expiredTapeList.Length) tape(s) as free in $($library.UserFriendlyName).“
Set-Tape -Tape $expiredTapeList -Free
$expiredTapeList | select Location
}

}

Ich habe das Script jetzt mal auf dem betroffenen DPM Sever ausgeführt und bekomme folgende Ausgabe.

image

Das sind genau die 2 Tapes die auf dem ersten Bild als abgelaufen markiert waren.

Jetzt folgt die Kontrolle im DPM ob diese 2 Tapes nun auch wirklich als Frei markiert sind.

image

Hat funktioniert, das ganze Script könnt ihr nun als Task am DPM Server laufen lassen.

 

[wpdm_file id=9]

Michael Seidl aka Techguy

10 comments to SCDPM abgelaufene Tapes als Frei markieren PowerShell

Leave a Reply

  

  

  


*