#1 Global Leader in Data Protection & Ransomware Recovery

Option to Install Veeam ONE Agent is Unavailable (Greyed Out)

KB ID: 3130
Product: Veeam ONE | 12 | 12.1
Published: 2020-03-23
Last Modified: 2024-03-01
mailbox
Get weekly article updates
By subscribing, you are agreeing to have your personal information managed in accordance with the terms of Veeam's Privacy Notice.

Cheers for trusting us with the spot in your mailbox!

Now you’re less likely to miss what’s been brewing in our knowledge base with this weekly digest

error icon

Oops! Something went wrong.

Please try again later.

Challenge

When attempting to install the Veeam ONE Agent on a Veeam Backup Server, the Install agent option is unavailable and greyed out.

Cause

There are several possible causes for this issue:

  • The Veeam ONE Agent is already installed on the Veeam Backup & Replication Server.
  • The Veeam ONE Server cannot communicate with the Veeam Backup & Replication Server.
  • A Veeam ONE Agent is installed on the Veeam Backup & Replication server, but cannot communicate with that Veeam ONE Agent because port 2805 is inaccessible.
  • The Veeam ONE Agent installed on the Veeam ONE Server is running in "Worker" mode.
    This may occur if the Veeam ONE Agent installer was run manually as its default install mode is Worker.
  • The Veeam ONE Monitoring Service cannot communicate with the Veeam ONE Agent service running on the Veeam ONE server due to a misconfiguration.

Solution

How to Identify Scenario

Below are four screenshots where the Install agent option is greyed out. Each has unique characteristics that can be used to identify the underlying issue. Review each scenario closely, and identify which one matches the situation you are facing.

Note: These scenarios are roughly ordered from most common to least common.

In each screenshot four things are highlighted:

  • Veeam ONE Agent version displayed
  • Veeam Backup Server's Status
  • Agent Status
  • Available context menu options

Scenario 1: Veeam ONE Agent is Already Installed

Veeam ONE Agent version: Correct version shown
Backup Server: Green Checkmark
Agent Status: Connected (Green Checkmark)
Available Options: [Remove Agents...] and [Agent settings...]

In this scenario, the Veeam ONE Agent is already deployed and cannot be installed on this Backup Server again.

Solution

This state is the expected sucessful state.

Normal

Scenario 2: Veeam Backup Server Cannot Be Reached

Veeam ONE Agent version: Correct version shown
Backup Server: Red X
Agent Status: No Installed
Available Options: None

In this scenario, the Veeam ONE Agent cannot be installed because the Veeam ONE server cannot reach the Veeam Backup Server.

Solution

To resolve this, ensure network connectivity between the Veeam ONE server and the Veeam Backup Server, and that the Veeam ONE server has the correct credentials to communicate with the Backup Server. If a Firewall is involved, review the required ports for Veeam ONE.

No Connection

Scenario 3: Veeam ONE Agent Port is Blocked

Veeam ONE Agent version: Correct version shown
Backup Server: Green Checkmark
Agent Status: Not responding (Red X)
Available Options: [Remove Agents...], [Reapir agent], and [Agent settings...]

In this scenario, the Veeam ONE Agent was deployed successfully and cannot be deployed on this Backup Server again. However, the "Not responding" status for the Agent indicates that the Veeam ONE Server cannot communicate with the Veeam ONE Agent deployed on the Backup Server.

Solution

If the "Repair agent" function does not resolve the issue, review the connection between the Veeam ONE Server and the Backup Server and ensure connectivity over port 2805.

VONE Agent Port Blocked

Scenario 4: Veeam ONE Agent on the Veeam ONE Server is Misconfigured

Veeam ONE Agent version: displayed as "N/A"
Backup Server: Green Checkmark
Agent Status: Not installed
Available Options: None

In this scenario the Veeam ONE Monitor service is unable to communicate with the Veeam ONE Agent service. At this time, there are two known possible causes of this issue:

  • The PrimaryOneAgentId value in the registry does not match the Veeam ONE Agent Service ID.

    or
  • The Veeam ONE Agent service running on the Veeam ONE server is operating in Worker mode instead of Master mode.

    Note:
    This may occur more often in deployment scenarios where Veeam ONE and Veeam Backup & Replication have been installed on the same machine, which is supported but not recommended.

Solution

Review the steps after the screenshot for information about resolving this scenario.

VONE Agent Wrong Mode
All-in-One Veeam ONE Agent Deployment Fix Script (Easy Option)
Optional Resolution Method
Running this script is optional. If you prefer a more hands-on approach, close this expander and review the steps in the next section, which walk the reader through performing all the steps by hand that this script completes automatically.

The following is an extensive script that will:

  • Check if the Veeam ONE Agent is installed, and if not, walk the user through deploying the Veeam ONE Agent in Master mode.
  • Check if the Veeam ONE Agent is operating in Worker mode, and if so, reinstall the Veeam ONE Agent in Master mode.
  • Check for a Veeam ONE Agent ID mismatch and automatically correct the issue if found.

Note: This script must be run on the Veeam ONE Server using an Administrative PowerShell Console.

#Check if script is being run on Veeam ONE Server by detecting Veeam ONE Monitoring Service
$onePresent = Get-Service -Name "Veeam ONE Monitoring Service" -ErrorAction SilentlyContinue
if ($onePresent) {
Write-Host "Veeam ONE detected. Proceeding with checks."
} else {
Throw "Veeam ONE not detected. This script must be run on the Veeam ONE server."
}

#Check if Veeam ONE Agent service is present.
function Check-VeeamONEAgentStatus {
$agentPresent = Get-Service -Name "Veeam ONE Agent" -ErrorAction SilentlyContinue
if (-not $agentPresent) {
Write-Host "Veeam ONE Agent not detected. Installing..."
Install-OneAgent
}
}

#Install Veeam ONE Agent in Master mode.
function Install-OneAgent {
Write-Host "Installing Veeam ONE Agent in Master mode."
#Path To VeeamONE.Agent.x64.msi (assuming default C: drive install)
$msiPath = "C:\Program Files\Veeam\Veeam ONE\Veeam ONE Monitor Server\AgentPackage\VeeamONE.Agent.x64.msi"
if (Test-Path -Path $msiPath) { } else { Throw "MSI file does not exist at $msiPath" }
#Get Veeam ONE Monitoring service's log on as account to show user which account credentials should be provided.
$serviceUsername = (Get-WmiObject -Class Win32_Service -Filter "Name='VeeamDCS'").StartName
#Prompt user to Specify Veeam ONE Service Account Credentials
$credentials = Get-Credential -Message "Please enter the credentials for $serviceUsername"
#Execute Installer and capture exit code
$installExit = (Start-Process -FilePath "C:\Windows\System32\msiexec.exe" -ArgumentList "/qn", "/i `"$msiPath`"", "ACCEPT_THIRDPARTY_LICENSES=1", "ACCEPT_EULA=1", "ACCEPT_REQUIRED_SOFTWARE=1", "ACCEPT_LICENSING_POLICY=1", "VO_AGENT_TYPE=1", "VO_BUNDLE_INSTALLATION=1", "VO_AGENT_SERVICE_ACCOUNT_NAME=`"$($credentials.UserName)`"", "VO_AGENT_SERVICE_ACCOUNT_PASSWORD=`"$($credentials.GetNetworkCredential().Password)`"" -Wait -Passthru).ExitCode
#Evaluate Exit Code
if ($installExit -ne 0) {
Throw "Veeam ONE Agent Install failed. Check event logs. (Invalid credentials provided?)"
} else {
Write-Host "Veeam ONE Agent Installed"
}
}

#Check which mode Veeam ONE Agent service is running in based on parsing the service log.
function Check-AgentMode {
$serviceID = Get-AgentServiceID
# Check OneAgent.log to determine whether service is running in Master or Worker mode
$logFilePath = "C:\ProgramData\Veeam\OneAgent\Log\" + $serviceID + "\OneAgent.log"
$logFileContent = Get-Content $logFilePath | Where-Object { $_ -match "Start actual agent settings:Id=\w+-\w+-\w+-\w+-\w+ AgentType=(Worker|Master) Port=\d+" }
$agentType = ($logFileContent | Select-Object -Last 1) -replace '.*AgentType=(Worker|Master).*', '$1'
#Evaluate mode and reinstall Veeam ONE Agent if operating in Worker mode.
Write-Host "Veeam ONE Agent Mode:" $agentType
if ([string]::IsNullOrEmpty($agentType)) {
Write-Host "Agent Mode not detected, restarting Veeam ONE Agent service and trying again."
Restart-Service VeeamOneAgentSvc
Check-AgentMode
} elseif ($agentType -eq "Worker") {
Reinstall-ONEAgent
} else {
Write-Host "Veeam ONE Agent operating in correct mode. Proceeding with checks."
}
}


#Extract Veeam ONE Agent service ID from file path specified in service settings.
function Get-AgentServiceID {
Check-VeeamONEAgentStatus
#Get Veeam ONE Agent Service ID#
$serviceID = ([regex]::Match((Get-WmiObject -Class Win32_Service | Where-Object { $_.Name -eq 'VeeamOneAgentSvc' }).PathName, '-id=([a-fA-F0-9-]+)').Groups[1]).Value
if ([string]::IsNullOrEmpty($serviceID)) {
Throw "Veeam ONE Agent Service ID Empty."
}
return $serviceID
}

#Get PrimaryOneAgentID value from registry. This is set by the Veeam ONE Agent installer and use by Veeam ONE Monitoring service to communicate with Veeam ONE Agent.
function Get-PrimaryOneAgentID {
$regValue = (Get-ItemProperty -Path 'HKLM:\SOFTWARE\Veeam\Veeam ONE Monitor\Service' -Name "PrimaryOneAgentId").PrimaryOneAgentId
return $regValue
}

function Reinstall-ONEAgent {
Write-Host "Veeam ONE Agent wrong mode. Reinstalling..."
Uninstall-ONEAgent
Install-OneAgent
Check-AgentMode
}

#Uninstalls Veeam ONE Agent by pulling the UninstallString from the registry and passing it to msiexec
function Uninstall-ONEAgent {
Write-Host "Uninstalling Veeam ONE Agent"
$programName = "Veeam ONE Agent"
$program = Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object {$_.DisplayName -eq $programName}
if ($program) {
$uninstallCommand = $program.UninstallString
$start = $uninstallCommand.IndexOf('{')
$end = $uninstallCommand.IndexOf('}')
$uninstalGuid = $uninstallCommand.Substring($start, $end - $start + 1)
$uninstallExit = (Start-Process -FilePath "C:\Windows\System32\msiexec.exe" -ArgumentList "/x `"$uninstalGuid`"" -Wait -Passthru).ExitCode
if ($uninstallExit -ne 0) {
Throw "Veeam ONE Agent uninstall failed. Check event logs."
} else {
Write-Host "Veeam ONE Agent Uninstalled"
}
} else {
Throw "Veeam ONE Agent uninstall entry in registry not found. Manually uninstall Veeam ONE Agent and rerun script"
}
}

#Compare the ID value from the Veeam ONE Agent service with the one set in the registry.
function Check-AgentIDs {
Write-Host "Checking for Agent ID Conflict"
$serviceID = Get-AgentServiceID
$regValue = Get-PrimaryOneAgentID
#Display current values for visual verification.
Write-Host "Agent Service ID:" $serviceID
Write-Host "Agent Registry ID:" $regValue
if ($serviceID -ne $regValue) {
Set-PrimaryOneAgentID
} else {
Write-Host "No Agent ID mismatch detected." -ForegroundColor Green
}
}

#Set the PrimaryOneAgentID value in the registry to match the local Veeam ONE Agent service ID.
function Set-PrimaryOneAgentID {
$serviceID = Get-AgentServiceID
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Veeam\Veeam ONE Monitor\Service' -Name "PrimaryOneAgentId" -Value $serviceID
$regValue = Get-PrimaryOneAgentID
if ($regvalue -eq $serviceID) {
Write-Host "A value mismatch was detected and has been corrected." -ForegroundColor Green
Write-Host "PrimaryOneAgentID value set to:" $regValue
} else {
Throw "Registry value could not be updated. Check permissions."
}
}

#Is Veeam ONE Agent installed?
Check-VeeamONEAgentStatus
#Is Veeam ONE Agent running in the correct mode, Master mode?
Check-AgentMode
#Is there a mismatch between the Veeam ONE Agent service ID and the PrimaryONEAgentID in the registry?
Check-AgentIDs

Check Veeam ONE Agent Service Operating Mode

  1. Connect to the Veeam ONE Server
  2. Restart the Veeam ONE Agent service (Services.msc).
    This step ensures that the log file will have a recent entry declaring operating mode.
  3. Open the folder: C:\ProgramData\Veeam\OneAgent\Log\
  4. Within that folder will be one or more GUID-named folders. Open the folder that was most recently created.
  5. Within that folder, open the file named OneAgent.log.
  6. Search for the string:
    AgentManager.Start actual agent settings:
    
    Example:
    OneAgent.AgentManager: AgentManager.Start actual agent settings:Id=<guid> AgentType=Master Port=2805
    
    1. If the AgentType value lists Master, skip to the Check for Agent ID Mismatch section below.
    2. If the AgentType value lists Worker, continue to the next section and Reinstall the Veeam ONE Agent in Master mode.

Reinstall Veeam ONE Agent Service

If the Veeam ONE Agent service on the Veeam ONE Server is operating in Worker mode (as discovered using the steps in the previous section). Perform the following:

  1. Connect to the Veeam ONE Server
  2. Uninstall Veeam ONE Agent (appwiz.cpl)
  3. Check which account is used as the Veeam ONE Service Account.
    1. Open Services control panel (Services.msc).
    2. Locate the Veeam ONE Monitoring Service service.
    3. Take note of which account is listed in the Log On As column.
      This account's credentials must be provided when prompted in the next step.
  4. Run the following script, enter the Veeam ONE Service Account credentials when prompted, and proceed through the Veeam ONE Agent installer:
$msiPath = "C:\Program Files\Veeam\Veeam ONE\Veeam ONE Monitor Server\AgentPackage\VeeamONE.Agent.x64.msi"
#Prompt user to Specify Veeam ONE Service Account Credentials
$credentials = Get-Credential -Message "Please enter the Veeam ONE Service Account credentials:"
#Execute Installer
Start-Process -FilePath "C:\Windows\System32\msiexec.exe" -ArgumentList "/i `"$msiPath`"", "ACCEPT_THIRDPARTY_LICENSES=1", "ACCEPT_EULA=1", "ACCEPT_REQUIRED_SOFTWARE=1", "ACCEPT_LICENSING_POLICY=1", "VO_AGENT_TYPE=1", "VO_BUNDLE_INSTALLATION=1", "VO_AGENT_SERVICE_ACCOUNT_NAME=`"$($credentials.UserName)`"", "VO_AGENT_SERVICE_ACCOUNT_PASSWORD=`"$($credentials.GetNetworkCredential().Password)`"" -Wait
The Veeam ONE Agent installer sets the PrimaryOneAgentId during installation. Therefore, you may now proceed to the Relaunch and Reattempt Install Agent section. However, if you want to double-check that the PrimaryOneAgentId was set correctly, proceed to the Check for Veeam ONE Agent ID Mismatch section.

Check For Veeam ONE Agent ID Mismatch

The PrimaryOneAgentId value is used by the Veeam ONE Monitoring Service to identify which Veeam ONE Agent it should use as the Master control agent. If the PrimaryOneAgentId registry value's ID# does not match that of the active Veeam ONE Agent service, Veeam ONE will fail to communicate with the Veeam ONE Agent.

  1. Connect to the Veeam ONE Server.
  2. Get the Veeam ONE Agent service's ID value.
    1. Open the Service control panel (Services.msc).
    2. Locate the Veeam ONE Agent service.
    3. Right-click the Veeam ONE Agent service and select Properties.
    4. On the General tab, take note of the -id= listed at the end of the Path to executable: value.
      Click and drag as if to highlight the text, and the text will scroll to the right, allowing you to see the -id= value.
service id select
  1. Check the PrimaryOneAgentId value in the registry.
    1. Open the Registry Editor (regedit).
    2. Navigate to the following key:
      HKEY_LOCAL_MACHINE\SOFTWARE\Veeam\Veeam ONE Monitor\Service\
    3. Within the Service key will be a value named PrimaryOneAgentId
    4. Take note of GUID set for that value.
  2. The PrimaryOneAgentId must be set to the same value as the -id= value used by the Veeam ONE Agent service.

With the Veeam ONE Agent service now operating in Master mode and the PrimaryOneAgentId value confirmed to be matching the Veeam ONE Agent service ID value, proceed to the Relaunch and Reattempt Install Agent.

Relaunch and Reattempt Install Agent

  1. Close the Veeam ONE Client.
  2. Restart the Veeam ONE Monitoring Service service.
  3. Launch the Veeam ONE Client.
  4. Navigate to the Veeam Backup & Replication > Veeam ONE Agents tab.
  5. Confirm that the Veeam ONE Agent version:, which was previously displaying N/A, now displays a version number.

    Note: If the version it is still listed as N/A, please create a Veeam Support case for assistance.
  6. Wait 5 minutes to allow the Veeam ONE services to refresh connection data for the Veeam Backup & Replication server.
  7. Reattempt to Install the Veeam ONE Agent on the Veeam Backup & Replication Server.

    Note: If the Install Agent option is still greyed out, check over the initial Scenarios listed in this article to determine if another issue is now preventing the deployment of the Veeam ONE Agent on the Veeam Backup & Replication server.
All-in-One Deployment
If Veeam ONE and Veeam Backup & Replication are installed on the same machine, and the issue persists after redeploying the Veeam ONE Agent, please create a support case. Additional steps involving modifications to the VeeamONE database may be necessary.
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.

Spelling error in text

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Thank you!

Thank you!

Your feedback has been received and will be reviewed.

Oops! Something went wrong.

Please try again later.

You have selected too large block!

Please try select less.

KB Feedback/Suggestion

This form is only for KB Feedback/Suggestions, if you need help with the software open a support case

By submitting, you are agreeing to have your personal information managed in accordance with the terms of Veeam's Privacy Notice.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Verify your email to continue your product download
We've sent a verification code to:
  • Incorrect verification code. Please try again.
An email with a verification code was just sent to
Didn't receive the code? Click to resend in sec
Didn't receive the code? Click to resend
Thank you!

Thank you!

Your feedback has been received and will be reviewed.

error icon

Oops! Something went wrong.

Please try again later.