System Center Data Protection Manager

Auswurf des Bandes bei Standalone Tape Drive mit SCDPM

Immer wieder fragen mich Kunden, ob nicht der DPM nach seiner Sicherung das Band auswerfen könnte. Bis jetzt musste ich das immer mit einem NEIN beantworten, aber es gibt eine Lösung.

Folgendes Script habe ich nur bei Standalone Tape Drives getestet, und es wirft das Band aus dem Slot tatsächlich aus.

Es wird aktuell nicht geprüft ob die Sicherung erfolgreich war oder nicht, sondern es wird einfach das Band ausgeworfen, ohne Rücksicht auf den Status der Bandsicherung.

Es wird ein kleines Tool dazu benötigt, das den eigentlichen Auswurf durchführt, mittels PowerShell holen wir uns die notwendigen Daten und starten diese Datei mit den nötigen Parametern.

Das Tool

Das Tool nennt sich “devioctl.exe” und kann hier heruntergeladen werden: devioctl.zip

die Hilfe liefert uns folgendes Ergebnis zurück

image

Somit würde unser Aufruf wie folgt aussehen.

devioctl.exe eject \\.\Tape2147483646

Wobei hier der String nach “devioctl.exe eject” immer wieder unterschiedlich sein wird, deshalb habe ich das ganze in ein PowerShell Script gepackt, welches den benötigten String aus unserem DPM ausliest und dementsprechend das Kommando ausführt.

Das Script

Ziel soll es sein die Tape Adresse herauszufinden und danach die Exe dementsprechend zu starten.

Folgender Befehl bringt uns schon mal den gewünschten Teil

get-dpmlibrary -dpmservername $DPMServerName | get-tapedrive | select *

Das Ergebnis sollte wie folgt aussehen

image

Der Wert AccessPath ist genau das was wir benötigen, somit sieht das fertige Script danach so aus.

########################################################
# Name: EjectTape.ps1                              
# Creator: Michael Seidl aka Techguy                    
# CreationDate: 26.11.2014                              
# LastModified: 26.11.2014                               
# Version: 1.0                                         
# Doc: http://www.techguy.at/tag/ejecttape/
#
# Description: Can be used to eject a tape from
# a Standalon Tape Drive connected to SCDPM
# after ejecting the Tape, Inventory will be started
# 
#   
# Variables
# Location: where your Exe File is saved
#
# DPMServerName: Name of your DPM Server, standard will 
#               take local computername
#
# Exe: Name of devioctl.exe
#
# Version 1.0 - RTM
########################################################
#
# www.techguy.at                                        
# www.facebook.com/TechguyAT                            
# www.twitter.com/TechguyAT                             
# michael@techguy.at 
########################################################

#*=============================================
#* IMPORT MODULES
#*=============================================
# Module: DataProtection Manager
Import-Module DataProtectionManager



#*=============================================
#* VARIABLE DECLARATION
#*=============================================
# Variables: Config
$Location="C:\_Scripts\EjectTape"
$Exe="devioctl.exe"
$DPMServerName="$env:computername"


$TapeDrive=get-dpmlibrary -dpmservername $DPMServerName | get-tapedrive | select *
$Expression = $Location+"\"+$Exe +" EJECT "+$TapeDrive.AccessPath
Invoke-Expression $Expression

get-dpmlibrary -dpmservername $DPMServerName | Start-DPMLibraryInventory -DetailedInventory

Das Script nun wie hier beschrieben als Task einrichten:http://www.techguy.at/scdpm-powershell-scripts-automatisieren/

TechNet Gallery Download

Download auf der TechNet Gallery: https://gallery.technet.microsoft.com/Eject-Tape-with-PowerShell-36fa7509

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

4 thoughts on “Auswurf des Bandes bei Standalone Tape Drive mit SCDPM”

  1. Der AccessPath meines IBM Single Tape Drives lautet \\.\Tape0 und wenn ich das Script ausführe, kommt folgende Fehlermeldung:

    \\.\Tape0: The filename, directory name, or volume label syntax is incorrect.

    Keine Ahnung, warum das nicht geht..

  2. Hi, \\.\Tape3231025 hat bei mir auch nicht funktioniert. Wenn ich die Sonderzeichen allerdings entferne, dann funktioniert es. Ich habe das Powershellskript um ein Replacekommando erweitert.

    $StringTapeDriveName=$TapeDrive.AccessPath -replace ‘[\W]’,”

Leave a Comment

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

*

%d bloggers like this: