Skip to main content

Failed to call RPC function'EpAgentCollectSystemlnfo': Machine doesn't have identifiers

 

hi ​@fjl 

 

Are all TCP ports open as per best practice?

Ports - Veeam Agent for Microsoft Windows Guide

 

Verify identifiers exist on the machine

  • On the protected machine, run:

    cmd

    wmic csproduct get UUID, IdentifyingNumber

    or powershell

    Get-WmiObject Win32_ComputerSystemProduct | Select-Object UUID, IdentifyingNumber 

    -----------------------------------------------------------------------------------
    check this scripts

    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

    <#
    .SYNOPSIS
      Checks system identifiers needed by Veeam Agent & Veeam Backup & Replication.

    .DESCRIPTION
      Veeam uses SMBIOS UUID, Serial Number, and other hardware/OS GUIDs to identify a machine.
      This script gathers them and flags if any are blank or default values.

    .NOTES
      Run this as Administrator.
    #>

    Write-Host "=== Veeam Identifier Check Script ===" -ForegroundColor Cyan

    # Helper function to flag missing/invalid IDs
    function Test-Identifier {
        param(
            string]$Name,
            ,string]$Value
        )
        if (Âstring]::IsNullOrWhiteSpace($Value) -or 
            $Value -match '^0+$' -or 
            $Value -match '^F+$' -or 
            $Value -match 'FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF') {
            Write-Host "${Name}: MISSING or INVALID" -ForegroundColor Red
        } else {
            Write-Host "${Name}: $Value" -ForegroundColor Green
        }
    }

    # SMBIOS UUID
    $uuid = (Get-WmiObject Win32_ComputerSystemProduct).UUID
    Test-Identifier -Name "SMBIOS UUID" -Value $uuid

    # System Serial Number
    $serial = (Get-WmiObject Win32_BIOS).SerialNumber
    Test-Identifier -Name "System Serial Number" -Value $serial

    # Identifying Number
    $idNum = (Get-WmiObject Win32_ComputerSystemProduct).IdentifyingNumber
    Test-Identifier -Name "Identifying Number" -Value $idNum

    # Motherboard Serial Number
    $mbSerial = (Get-WmiObject Win32_BaseBoard).SerialNumber
    Test-Identifier -Name "Motherboard Serial Number" -Value $mbSerial

    # Machine SID
    $sid = (Get-WmiObject Win32_UserAccount -Filter "LocalAccount=True AND Name='Administrator'").SID
    Test-Identifier -Name "Machine SID" -Value $sid

    Write-Host "`nCheck complete. If anything above is MISSING/INVALID, Veeam may fail to register this machine." -ForegroundColor Yellow
    If they are blank or FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF, you need to set valid SMBIOS data
  • Another check, try delete this folder C:\ProgramData\Veeam\Endpoint\Data\ folder (this forces Veeam to re-register the machine)
  • Uninstall Veeam Agent for Windows from the endpoint.

    • Reboot.

    • Reinstall from VBR’s Protection Group deployment.

  • Is the user veeamsys part of the Local Administrators group?

 


 


hi ​@fjl 

 

Are all TCP ports open as per best practice?

Ports - Veeam Agent for Microsoft Windows Guide

 

Verify identifiers exist on the machine

  • On the protected machine, run:

    cmd

    wmic csproduct get UUID, IdentifyingNumber

    or powershell

    Get-WmiObject Win32_ComputerSystemProduct | Select-Object UUID, IdentifyingNumber 

    -----------------------------------------------------------------------------------
    check this scripts

    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

    <#
    .SYNOPSIS
      Checks system identifiers needed by Veeam Agent & Veeam Backup & Replication.

    .DESCRIPTION
      Veeam uses SMBIOS UUID, Serial Number, and other hardware/OS GUIDs to identify a machine.
      This script gathers them and flags if any are blank or default values.

    .NOTES
      Run this as Administrator.
    #>

    Write-Host "=== Veeam Identifier Check Script ===" -ForegroundColor Cyan

    # Helper function to flag missing/invalid IDs
    function Test-Identifier {
        param(
            string]$Name,
            ,string]$Value
        )
        if (Âstring]::IsNullOrWhiteSpace($Value) -or 
            $Value -match '^0+$' -or 
            $Value -match '^F+$' -or 
            $Value -match 'FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF') {
            Write-Host "${Name}: MISSING or INVALID" -ForegroundColor Red
        } else {
            Write-Host "${Name}: $Value" -ForegroundColor Green
        }
    }

    # SMBIOS UUID
    $uuid = (Get-WmiObject Win32_ComputerSystemProduct).UUID
    Test-Identifier -Name "SMBIOS UUID" -Value $uuid

    # System Serial Number
    $serial = (Get-WmiObject Win32_BIOS).SerialNumber
    Test-Identifier -Name "System Serial Number" -Value $serial

    # Identifying Number
    $idNum = (Get-WmiObject Win32_ComputerSystemProduct).IdentifyingNumber
    Test-Identifier -Name "Identifying Number" -Value $idNum

    # Motherboard Serial Number
    $mbSerial = (Get-WmiObject Win32_BaseBoard).SerialNumber
    Test-Identifier -Name "Motherboard Serial Number" -Value $mbSerial

    # Machine SID
    $sid = (Get-WmiObject Win32_UserAccount -Filter "LocalAccount=True AND Name='Administrator'").SID
    Test-Identifier -Name "Machine SID" -Value $sid

    Write-Host "`nCheck complete. If anything above is MISSING/INVALID, Veeam may fail to register this machine." -ForegroundColor Yellow
    If they are blank or FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF, you need to set valid SMBIOS data
  • Another check, try delete this folder C:\ProgramData\Veeam\Endpoint\Data\ folder (this forces Veeam to re-register the machine)
  • Uninstall Veeam Agent for Windows from the endpoint.

    • Reboot.

    • Reinstall from VBR’s Protection Group deployment.

  • Is the user veeamsys part of the Local Administrators group?

 


 

Okay, I'll give it a try first


If the above fails I would suggest a support ticket as this will be resolved faster that way. 


Comment