From 4f678ddb58b1b7687ef0e6d656765458901e4243 Mon Sep 17 00:00:00 2001 From: Tim Date: Thu, 27 May 2021 11:42:08 +0000 Subject: [PATCH] =?UTF-8?q?=E2=80=9Eveeam=5Fnotify=5Fapprise.ps1=E2=80=9C?= =?UTF-8?q?=20hinzuf=C3=BCgen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- veeam_notify_apprise.ps1 | 48 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 veeam_notify_apprise.ps1 diff --git a/veeam_notify_apprise.ps1 b/veeam_notify_apprise.ps1 new file mode 100644 index 0000000..9844302 --- /dev/null +++ b/veeam_notify_apprise.ps1 @@ -0,0 +1,48 @@ +# Die Variablen müssen korrekt gefüllt werden. +#jobname = Name des VEEAM Jobs +# vmbackup = true oder false +# Wenn es sich um einen Job von VMs handelt muss true gewählt werden. +# + +### Vars +$USER="MatrixUser" +$PASS="MatrixPassword" +$SERVER="matrixserver.tld" +$ROOMID="MatrixRoomID" +$url="http://1.2.3.4:1234/notify/" +$veeamserver="localhost" +$veeampcname="PCName" +$veeamuser="UserName" +$veeampw="Password" +$jobname="JobName" +$vmbackup="true" + +Disconnect-VBRServer | out-null +connect-vbrserver -server $veeamserver -user $veeampcname\$veeamuser -password $veeampw +if ($vmbackup -eq "true") { + $job = Get-VBRJob -Name $jobname + $jobresult = Get-VBRBackupSession | Where {$_.jobId -eq $job.Id.Guid} | Sort EndTimeUTC -Descending | Select -First 1 + } +if ($vmbackup -eq "false") { + $job = Get-VBRComputerBackupJob -Name $jobname + $session = Get-VBRComputerBackupJobSession -Name "Plex" | Sort-Object -Descending -Property CreationTime + $jobresult = $session[0] +} +if ($jobresult | Out-String -Stream | Select-String Success) { + $RESULT="Backupjob $jobname wurde erfolgreich abgeschlossen." + } +elseif ($jobresult | Out-String -Stream | Select-String Warning) { + $RESULT="Backupjob $jobname wurde mit Warning abgeschlossen." + } + elseif ($jobresult | Out-String -Stream | Select-String Failed) { + $RESULT="Backupjob $jobname wurde mit Failed abgeschlossen, bitte prüfen." + } + Disconnect-VBRServer | out-null + $JSON = @" +{ + "urls":"matrixs://$USER`:$PASS@$SERVER/$ROOMID", + "body":"$RESULT", + "title":"VEEAM Backup" +} +"@ + Invoke-RestMethod -Uri $url -Method Post -Body $JSON -ContentType "application/json" \ No newline at end of file