How to Move the VBRCatalog Folder
KB ID: | 1453 |
Product: | Veeam Backup & Replication |
Version: | All |
Published: | 2011-12-16 |
Last Modified: | 2024-08-01 |
Languages: | FR |
Purpose
This article documents the procedure for moving the VBRCatalog folder.
Solution
VBRCatalog Location Requirements
- The VBRCatalog folder must be on the root of a given drive letter.
Example: C:\VBRCatalog\ or D:\VBRCatalog\ - The VBRCatalog cannot be redirected to a CIFS share or mapped network drive.
- If the original location of the VBRCatalog is missing, create a new VBRCatalog folder in the root of an available drive, and skip Step 3 below.
The following steps are to be performed on the server where Veeam Backup & Replication is installed.
- Make sure all jobs are stopped and disabled.
- Stop all Veeam services.
(PowerShell Example Below)
Get-Service Veeam* | Stop-Service
- Move the VBRCatalog folder to the new location.
- The action of moving or renaming the VBRCatalog folder will cause the share to be removed.
- If the VBRCatalog folder is missing or was deleted, create a new folder named "VBRCatalog" in the desired location.
- Recreate the VBRCatalog Share
Expand the method you'd prefer to use.
Recreate VBRCatalog Share using PowerShell
Update the following PowerShell command and run it an Administrative PowerShell console:
$newPath = "C:\VBRCatalog"
New-SmbShare -Name VBRCatalog -Path $newPath -ReadAccess "BUILTIN\Administrators"
Recreate the VBRCatalog Share using Computer Management
- Open Computer Management (compmgmt.msc)
- Expand [System Tools] > [Shared Folders] > [Shares]
- From Menu, select [Action] > [New Share...]
- Select the new folder path to where the VBRCatalog was moved
- On the next page of the wizard, name the share VBRCatalog
- On the "Shared Folder Permissions" page, select [Customize permissions]
- Remove "Everyone"
- Add "Administrators"
Note: The location selected when specifying Administrators must be the Veeam Server, not the domain. - The Permissions should now list Administrators with only Read Allow permission.
- Press OK and Finish (twice) to complete the recreation of the share.
- Open Regedit and update the catalog path in the following two locations:
- Key Location: HKLM\SOFTWARE\Veeam\Veeam Backup Catalog
Value Name: CatalogPath
Value Type: String Value (REG_SZ)
Value Data: <path without trailing slash> - Key Location: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\548FDDBB83EB487478FBC0FD5AC7CDCB
Value Name: <The value name will be different on every deployment, but there will only be one value in that key.>
Value Type: String Value (REG_SZ)
Value Data: <path_without_trailing_slash>
- Key Location: HKLM\SOFTWARE\Veeam\Veeam Backup Catalog
- Start all Veeam services.
(PowerShell Example Below)
Get-Service Veeam* | Start-Service
- Enable all jobs stopped in Step 1.
More Information
This script is provided as a courtesy and is not directly supported by Veeam Technical Support.
PowerShell Automation
The following script is an alternative way to change the VBRCatalog location.
On the machine where Veeam Backup & Replication is installed, stop the Veeam services and run the following PowerShell script as an Administrator. The script will:
- Check if the VeeamCatalogSvc is running.
- Present the user with an interactive folder selector, allowing them to easily select the new folder path.
- Check if an existing share named VBRCatalog exists, and if so, copy the contents of that share's path to the folder the user selected. Then, remove the existing VBRCatalog share.
Note: If no existing VBRCatalog share is present, the contents of any previous VBR catalog path will not be copied to the new folder. - Create a new VBRCatalog share using the path the user selected.
- Update the registry values with the new VBRCatalog path.
# Check if the VeeamCatalogSvc service exists and throw an error if not installed
$veeamService = Get-Service -Name "VeeamCatalogSvc" -ErrorAction SilentlyContinue
if (-not $veeamService) {
throw "This script cannot be used if the Veeam Catalog Service is not installed."
}
# Check if the VeeamCatalogSvc service is running and throw error if it is
if ($veeamService.Status -eq "Running") {
throw "Stop all Veeam services before running this script."
}
# Function to open a folder browser dialog
Function Get-Folder {
Add-Type -AssemblyName System.Windows.Forms
$folderBrowser = New-Object System.Windows.Forms.FolderBrowserDialog
$folderBrowser.Description = "Select the new VBRCatalog folder"
$folderBrowser.RootFolder = [System.Environment+SpecialFolder]::MyComputer
if ($folderBrowser.ShowDialog() -eq [System.Windows.Forms.DialogResult]::OK) {
$folderBrowser.SelectedPath
} else {
throw "No folder selected. Exiting."
}
}
# Prompt user to select new VBRCatalog folder
$newPath = Get-Folder
# Create or update SMB share
$existingShare = Get-SmbShare -Name VBRCatalog -ErrorAction SilentlyContinue
if ($existingShare -and $existingShare.Path -ne $newPath) {
Copy-Item -Path "$($existingShare.Path)\*" -Destination $newPath -Recurse -Force
Remove-SmbShare -Name VBRCatalog -Force
}
New-SmbShare -Name VBRCatalog -Path $newPath -ReadAccess "BUILTIN\Administrators" -ErrorAction SilentlyContinue
# Set new VBRCatalog Registry value
Set-ItemProperty -Path "HKLM:\SOFTWARE\Veeam\Veeam Backup Catalog" -Name "CatalogPath" -Value $newPath
# Find Veeam Backup Catalog's product ID and update its secondary location
$productID = (Get-ChildItem 'HKLM:\SOFTWARE\Classes\Installer\Products' | Where-Object {
$keyProperties = Get-ItemProperty $_.PSPath -ErrorAction SilentlyContinue
$keyProperties.ProductName -eq "Veeam Backup Catalog"
} | Select-Object -ExpandProperty PSChildName)
if ($productID) {
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\548FDDBB83EB487478FBC0FD5AC7CDCB" -Name $productID -Value $newPath
} else {
throw "Veeam Backup Catalog product not found."
}
To submit feedback regarding this article, please click this link: Send Article Feedback
To report a typo on this page, highlight the typo with your mouse and press CTRL + Enter.
To report a typo on this page, highlight the typo with your mouse and press CTRL + Enter.