Skip to main content
Question

Using AWS VTL with Powershell Script to Load "Free" Tapes - Worked in V12, But Not V13

  • March 9, 2026
  • 4 comments
  • 18 views

We use AWS VTL for backing up some of our larger SMB file shares (mainly AWS FSx for Windows) that run into a few terabytes each.

When running a tape backup job we’d run a powershell script to check there were at least 10 free tapes before starting each job (there’s around four or five chained jobs).

The script worked fine on VBR v12, but always returns “TooManyRequests” on v13.

I have found various “retry” scripts, but the VBR commands ALWAYS return “TooManyRequests” so never complete.

Is there now an alternative method to auto load blank tapes that didn’t exist in v12?

Our script that worked in v12:

# Get Library
$NOVA_Tape_Library = Get-VBRTapeLibrary -Name "Novasol Gateway-VTL V3"

# Get Number of Free Tapes
$NOVA_Free_Tapes = (Get-VBRTapeMediaPool -Name "Free").medium | where {$_.LibraryId -eq $NOVA_Tape_Library.Id}

# if number of free tapes < 10 import tapes and format for use?
if ($NOVA_Free_Tapes.length -lt 10) {
write-host "Import Tapes"
Import-VBRTapeMedium -Library $NOVA_Tape_Library -Wait

# need to wait longer
Start-Sleep -s 20

write-host "Convert 'Unrecognized' to 'Free'"
# Get Number of Unrecognized Tapes
$NOVA_Unrecognized_Tapes = ($NOVA_Tape_Library | Get-VBRTapeMediaPool -Name "Unrecognized").medium | where {$_.LibraryId -eq $NOVA_Tape_Library.Id}
$NOVA_Unrecognized_Tapes | Set-VBRTapeMedium -MarkAsFree
}

Does anyone have any sort of fix for this?

Thanks,

Richie

4 comments

Chris.Childerhose
Forum|alt.badge.img+21

My guess would be one of the variables has changed in v13.  I know there is some case changes for variables how they are written.  I would check them against the help section to see.


Hi,

Pretty sure it’s down to the fact that Veeam have changed how the Powershell commands work and have rate limited them. Even just using Get-VBRTapeLibrary returns “TooManyRequests”

I’m going see if directly hitting the REST API works to rule that out.

Thanks,

Richie


Forum|alt.badge.img+3
  • Experienced User
  • March 9, 2026

@Richie Rogers Awaze UK 

 

Please open a Veeam Support case for the TooManyRequets response.

This is not expected and an investigation is required. It’s not about cmdlets changing, but rather the backup server responding to the number of requests being sent. For our supported cmdlets, this should not happen, so an investigation is required.

Currently we don’t have endpoints for Tape in the Backup Server REST API (planned), so a support case is the way to go here.

 


Jason Orchard-ingram micro
Forum|alt.badge.img+1

Have a quick scan of the cmdlet under v13 they appear to be the same

https://helpcenter.veeam.com/docs/vbr/powershell/tape_devices.html?ver=13

 

the only thing I can see there a variable called “-tapeserver” which your not calling in your Script

 

Get-VBRTapeLibrary [-TapeServer <VBRTapeServer[]>] [-Name <string[]>]  [<CommonParameters>]

 


As previously suggested a support case is recommended.