d-viper
Goto Top

Veeam Powershell Script für Tape Notification

Moin Moin,

vielleicht kann mir jemand mit einem Powershell Script helfen

ich brauche eins für Veeam Backup & Replication, genauer gesagt für die Tape Job Notification.
Jeder der die Notification an stellt bekommt in der Mail gesagt das er ein Tape wechseln muss aber eben nicht genau welches. Dazu muss man sich einloggen und im Job nachschauen was in den Details (Action) steht.

Der Support meinte das kann man mit einem Powershell script machen. Des weiteren hat er es natürlich als feature Request aufgenommen. So eine Funktion sollte eigentlich als Basis drin sein.

ich habe lange recherchiert aber habe nichts gefunden -> https://helpcenter.veeam.com/docs/backup/powershell/veeam_psreference.ht ...

MFG Brian

Content-ID: 5404364502

Url: https://administrator.de/contentid/5404364502

Ausgedruckt am: 25.11.2024 um 09:11 Uhr

Doskias
Doskias 16.01.2023 um 13:59:14 Uhr
Goto Top
Moin,
ich habe lange recherchiert aber habe nichts gefunden ->
https://helpcenter.veeam.com/docs/backup/powershell/veeam_psreference.ht ...

offenbar nicht lange genug. Ziellinie war doch schon in Sicht. face-wink Hab auf deinen Link geklickt, dann auf Tape-Devices, dann auf Tapes und:
https://helpcenter.veeam.com/docs/backup/powershell/tapes.html?ver=110

und was du suchst findest du denke ich mit Get-VBRTapeMedium. Da stehen alle Infos zum Tape, wie letztes Schreibdatum und bis wann es gesperrt ist. Die Information entsprechend verarbeitet, sollten dir geben was du brauchst.

Gruß
Doskias
D-Viper
D-Viper 16.01.2023 um 14:06:39 Uhr
Goto Top
vielen dank aber hier - > https://helpcenter.veeam.com/docs/backup/powershell/get-vbrtapemedium.ht ...
ist nichts mit notification zu finden. Falls jemand ein fertiges Script hat, würde ich mich freuen wenn es jemand teilen könnte.
5175293307
5175293307 16.01.2023 aktualisiert um 14:41:00 Uhr
Goto Top
Get-VBRTapeJob | ? LastState -eq 'WaitingTape' | %{  
    $_.FullBackupMediaPool | fl *
    $_.IncrementalBackupMediaPool | fl *
}

Oder die pragmatischste "analoge" Lösung => Bänder so beschriften das auf ihnen steht welches Tape als nächstes kommt, dann muss man erst gar nicht nachsehen 😀.
Alternativ nen Tape-Loader besorgen ...
Doskias
Doskias 16.01.2023 um 14:19:07 Uhr
Goto Top
Nein, so pauschal ist die Notification nicht zu finden. Aber führ mal get-VBRTapeMedium auf deinem Veeam-Server in Powershell aus und schau dir die Ergebnisse an. Mit dem richtigen Filter solltest du relativ einfach die Ausgabe auf ein Tape reduzieren können.
D-Viper
D-Viper 16.01.2023 um 16:33:44 Uhr
Goto Top
Es wird nicht funktionieren, da es den MediaPool und nicht den TapeJob abfragt.
Doskias
Doskias 16.01.2023 um 17:14:49 Uhr
Goto Top
Zitat von @D-Viper:
Es wird nicht funktionieren, da es den MediaPool und nicht den TapeJob abfragt.

Brauchst du doch auch gar nicht. Du willst ja nicht wissen welchen Job du wechseln musst. Du willst wissen, hast du zumindest geschrieben, welches Band du wechseln musst. Zu welchen Job oder media-Pool das band gehört ist doch völlig egal. Wichtig ist: Bei einem anständig konfiguriertem Backup bekommen alle Bänder wenn sie Voll sind einen Schreibschutz. Entweder lässt du die Bänder in deiner Library (unsere ist Groß genug, dass ich keine Bänder wechseln muss, mit Ausnhame der Monatssicherung) oder du entfernst sie. In deinem Fall musst du sie ja offensichtlich entfernen. Wenn das Band entfernt werden muss, dann muss das Band (meiner Verständnis nach) mit einem entsprechenden Schreibschutz versehen sein. Das, so wie den Namen des Bandes, bekommst du mit Get-VBRTapeMedium abgefragt. Also kurz gesagt: Such dir das band raus, welches als letztes ein expired-Date zugewiesen bekommen hat und das müsste das sein welches gewechselt werden muss.

Mit:
Get-VBRTapeMedium  | select-object name,ExpirationDate | sort expirationDate
Erhalte ich zumindest eine Übersicht nach der ich wüsste, welches der 24 Bänder ich bei uns ersetzen würde.

Wenn nicht beschreib doch bitte deine Backupstruktur etwas genauer und erzähle uns welches Band genau gewechselt werden soll, etc.

Gruß
Doskias
D-Viper
D-Viper 17.01.2023 um 09:55:58 Uhr
Goto Top
Vielen Dank erstmal. Es muss doch immer das Band gewechselt werden das Veeam dir vorgibt. Wir schauen da in keine Liste oder ähnliches. Veeam sagt dir, wenn du in die Tapes guckst in den Details welches Band gewechselt werden muss und genau diesen Text möchte ich auch als Email geschickt bekommen.
Doskias
Doskias 18.01.2023 um 11:27:19 Uhr
Goto Top
Ok, jetzt hab ich dich verstanden. Du möchtest nicht wissen welches Band gewechselt werden muss, du möchtest das ganze Per E-Mail haben, bzw. den gleichen Text wie Veeam. Aber auch das ist doch kein Problem. Wenn du mittels get-VBRTapeMedium das Band identifiziert hast, dann kannst du ja auch Problemlos mit der entsprechenden Erweiterung des Befehls, das ganze auf 1 Band reduzieren. Und dann generierst du dir einfach mit Send-MailMessage eine E-Mail. Wenn du den genauen Wortlaut haben willst, dann erstell dir die E-Mail halt selbst, pack das ganze in ein Skript und lass das Skript nach Abschluss des Backups ausführen.
D-Viper
D-Viper 18.01.2023 um 11:32:58 Uhr
Goto Top
Und wie würde das Script aussehen?

Die Emailadresse ist ja in Veeam schon hinterlegt
Doskias
Doskias 18.01.2023 um 12:01:13 Uhr
Goto Top
Recht simpel, aber da ich nicht weiß wie deine Tape aufgebaut ist, kann ich nur Hilfestellung geben. Etwa so:
# Auswahl des Bandes mit dem höchsten ExpirationDate, also das was am längsten nicht beschreiben werden darf unjd damit als letztes den Schreibschutz erhalten hat:
$Band=Get-VBRTapeMedium | select-object name,ExpirationDate | sort expirationDate -Descending| Select-Object -First 1
# Text für E-Mail
$body="Das Band " + $band.Name + " muss gewechselt werden."  
# E-Mail senden
Send-MailMessage -To DeineMail@Firma.de -From Backupserver@Firma.de -SmtpServer [Dein-Mailserver] -Body $body -Subject "Band wechseln"  

So oder so ähnlich. Und für ja, es geht noch kürzer, aber da ich das Gefühl habe, dass wir hier einen PS-Neuling haben, schreibe ich es verständlicher. face-wink

Gruß
Doskias