In FlexNet Manager Suite, Flexera One IT Asset Management (ITAM), and Flexera One IT Visibility, child beacons communicate with parent servers to download various types of configuration details. This article contains tips for troubleshooting situations where this communication fails.
Common reasons for failures include:
- Network or firewall restrictions block network connections
- Web proxies block traffic
- Authentication errors
- Certificate validation failures
This article provides suggestions for how PowerShell statements and curl.exe can be run on a child beacon to simulate communication with its parent. These tests help isolate problems related to authentication, proxy settings, TLS protocols, or endpoint accessibility.
Beacon-parent-connection-test.ps1 troubleshooting script
The Beacon-parent-connection-test.ps1 script attached to this article can be used to troubleshoot many types of connection failures.
Download and save the script to a child beacon experiencing a problem.
Here are some examples of how this script can be run.
.\Beacon-parent-connection-test.ps1 *>beacon-test.txt
Test connecting to this beacon's parent to download beacon policy details, writing diagnostic output to the file beacon-test.txt.
.\Beacon-parent-connection-test.ps1 -Url /inventory-beacons/api/download/inventory-settings -OutFile content.dat *>beacon-test.txt
Test connection to this beacon's parent to download the specified URL endpoint. Downloaded content is saved to the file content.dat, and diagnostic output from the script is written to beacon-test.txt.
Interactive troubleshooting
The following PowerShell examples illustrate how you could execute commands in a Windows PowerShell environment to interactively test connectivity.
The Beacon-parent-connection-test.ps1 script described above contains many of these techniques.
Step 1. Initialize the PowerShell environment
Run the following script to align proxy settings, authentication credentials, and TLS versions with the beacon’s configuration. This sets up details required by later steps.
if ($PSVersionTable.PSEdition -ne "Desktop") {
Write-Error "This script must be run in Windows PowerShell" -ErrorAction Stop
}
$beaconInstallPath = Get-ItemPropertyValue `
-Path "HKLM:\SOFTWARE\WOW6432Node\ManageSoft Corp\ManageSoft" `
-Name ETDPInstallDir
Add-Type -Path "$beaconInstallPath\DotNet\bin\Flexera.Beacon.Common.dll"
Add-Type -Path "$beaconInstallPath\DotNet\bin\Flexera.SaaS.Transport.dll"
$bc = New-Object Flexera.Beacon.Common.BeaconConfig
if ($bc::ProxySettingsProxyServerConnectionEnabled) {
$proxy = [Flexera.SaaS.Transport.Core.ProxyHelper]::GetBeaconConfiguredProxy("http")
Write-Output "Web proxy details:" $proxy
[System.Net.WebRequest]::DefaultWebProxy = $proxy
} else {
Write-Output "No proxy in use"
[System.Net.WebRequest]::DefaultWebProxy = $null
}
$password = ConvertTo-SecureString $bc::BeaconServicesPassword -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential($bc::BeaconServicesUserName, $password)
[Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]'Tls,Tls11,Tls12,Tls13'
Step 2. Upload test using PowerShell
Checks whether a dummy .ndi file can be uploaded to the parent server. These commands test the process of making a connection to upload a dummy inventory NDI file to the beacon’s parent using the PowerShell Invoke-WebRequest cmdlet.
$ul = $bc::GetUploadLocationDetails()
$url = "$($ul._URL)$($ul._Directory)/Inventories/testing.ndi"
Write-Output "Testing upload using Invoke-WebRequest to $url"
Invoke-WebRequest $url -Credential $cred -Method PUT -Body "test-NDI-content" -UseBasicParsing
Step 3. Upload test using curl.exe
Performs the same test with curl.exe, which may reveal different or more detailed errors. These commands test making a connection to upload a dummy inventory NDI file to the beacon’s parent using the curl.exe tool.
This is similar to testing using the PowerShell Invoke-WebRequest cmdlet, but sometimes testing using different approaches can help to identify issues that may be evident with one approach that are not evident with another approach. Using curl.exe may also be helpful for producing additional diagnostic information that the Invoke-WebRequest may not so easily provide.
$ul = $bc::GetUploadLocationDetails()
$url = "$($ul._URL)$($ul._Directory)/Inventories/testing.ndi"
$curlArgs = @("--verbose", "--request", "PUT", $url, "--data", "test-NDI-content")
if ($bc::BeaconServicesUserName) {
$curlArgs += @("--user", "$($bc::BeaconServicesUserName):$($bc::BeaconServicesPassword)")
}
if ($bc::ProxySettingsProxyServerConnectionEnabled) {
$curlArgs += @("--proxy", $proxy.Address)
if ($proxy.Credentials) {
$curlArgs += @("--proxy-user", "$($proxy.Credentials.UserName):$($proxy.Credentials.Password)")
}
}
Write-Output "curl.exe $curlArgs"
curl.exe $curlArgs
Step 4. Policy download test using PowerShell
Verifies that the beacon can download its policy from the parent by making a connection to download beacon policy details from the beacon’s parent using the PowerShell Invoke-WebRequest cmdlet.
$url = "$($bc::BeaconServicesEndpoint)inventory-beacons/api/policy/?tenantUid=$($bc::TenantUID)"
Invoke-WebRequest $url -Credential $cred -UseBasicParsing
This test can help to confirm that the beacon can successfully download its policy, verifying both authentication and endpoint accessibility.
Step 5. Policy download test using curl.exe
Same policy test, run with curl.exe for additional diagnostic output. These commands test making a connection to download beacon policy details from the beacon’s parent using the curl.exe tool.
$url = "$($bc::BeaconServicesEndpoint)inventory-beacons/api/policy/?tenantUid=$($bc::TenantUID)"
$curlArgs = @("--verbose", $url)
if ($bc::BeaconServicesUserName) {
$curlArgs += @("--user", "$($bc::BeaconServicesUserName):$($bc::BeaconServicesPassword)")
}
if ($bc::ProxySettingsProxyServerConnectionEnabled) {
$curlArgs += @("--proxy", $proxy.Address)
if ($proxy.Credentials) {
$curlArgs += @("--proxy-user", "$($proxy.Credentials.UserName):$($proxy.Credentials.Password)")
}
}
Write-Output "curl.exe $curlArgs"
curl.exe $curlArgs
Outcomes
- Successful test → confirms the parent server is reachable and responding.
- Failure → inspect the error details to identify whether the issue is related to proxy, firewall, certificate validation, or authentication.
Related Articles
Beacon Configuration - Child to Parent 10Number of Views Parent beacons fail to upload files that have come from child beacons containing a TenantUID in the filename 4Number of Views Troubleshoot problems with CLR and SqlProceduresClr assembly configuration in FlexNet Manager Suite databases 34Number of Views Child beacon unable to download beacon policy from parent beacon (cloud) 5Number of Views Troubleshoot Beacon SSL/TLS Error: “The remote certificate is invalid according to the validation procedure” 118Number of Views
Hi, I am Reva - Ask me anything.
No new updates
Thanks for the feedback!
Your feedback has been saved.Rate this response:
Add Additional feedback ( Optional )
Are you sure you want to cancel
the case creation?
Are you sure you want to cancel the case creation?
Are you sure you want to close this case
| Products | Region | Phone Numbers |
|---|---|---|
| FlexNet Operations FlexNet Embedded FlexNet Publisher FlexNet Connect FlexNet Code Insight InstallAnywhere InstallShield |
North America * |
+1 630-332-2513 (toll) +1 877-279-2853 (toll-free in North America) |
| Europe * |
+44 1925 944367 (toll) +44 800 047 8642 (toll-free in Europe) |
|
| Japan * | +81 3-4540-5335 (select option 2) | |
| Australia * |
+61 3 9895 2177 +61 1800 560 603 (toll-free in Australia) |
|
|
Usage Intelligence (formerly
Revulytics) Compliance Intelligence |
Please use the Case Portal to submit your support ticket or reach out to your Revenera contact. | |
Revenera Assistant
Case id: 00001065
Activity: Status change: 2 hours ago