Skip to main content
Version: 25.4

Windows

FlexxAgent supports 64-bit Windows operating systems; it cannot be installed on 32-bit systems. The installation binary is available with and without a graphical interface, making it fully compatible with unattended deployment mechanisms and the installation wizard.

xqUdxri

FlexxAgent consists of a Windows service called FlexxAgent Service, which manages two processes: FlexxAgent (process), which runs at the system level, and FlexxAgent Analyzer (process), which starts for each user session.

This structure enables FlexxAgent to address multiple session devices, such as terminal servers, Citrix, or AVD, and acquire detailed metrics to enhance diagnostic capabilities.

For example, if a person is working on their laptop, the FlexxAgent process would run at the system level and FlexxAgent Analyzer would run from the user's identity. If the device hosts multiple user sessions, in addition to FlexxAgent at the system level, FlexxAgent Analyzer will run for each user session on that device.

Consumption

In terms of resource requirements, FlexxAgent has very modest consumption, hovering around the following values:

  • Disk space used: < 200 MB
  • CPU: < 0.5%
  • RAM: 100-200 MB

FlexxAgent Process (system)

  • For resource consumption information, including performance counters, hardware, sessions, profiles, disks, partitions, and Windows services, the default value is 60 seconds.
  • Event log error events are sent every 10 minutes.
  • User profile information is obtained every 15 minutes.

FlexxAgent Analyzer Process (user)

  • Includes application usage analysis, diagnostic data, and user experience.
  • Data is collected locally every 15 seconds.
  • The report is sent to the service every 5 minutes, although this metric can change in specific functionalities.
info

These values can be adjusted in Settings on the different consoles, providing flexibility to meet specific needs.

Supported versions

The operating systems compatible with FlexxAgent are those still within the manufacturer's support cycle. Although installation is allowed on versions without such support, certain functionalities might not be available.

Microsoft operating systems with full support and compatibility are:

  • Microsoft Windows 10 or later
  • Microsoft Windows Server 2016 or later

FlexxAgent can also be installed on Windows 7 and 8.1 SP1, Windows Server 2008 R2 SP1, and Windows Server 2012, but it will be subject to some limitations.

Software Requirements

FlexxAgent also requires certain software components:

  • .NET Framework 4.6.2 or later, Flexxible recommends installing .NET Framework 4.8.
  • Windows PowerShell 4.0 or later (Windows PowerShell 5.1 recommended)
    • Note: The Azure PowerShell execution policy should be set to Unrestricted.

Considerations for Windows versions in EOL

Windows versions in End of Life (EOL), meaning they are out of support, have some limitations in running FlexxAgent, which may cause certain functionalities to not be supported.

Limitations

Some limitations might disable its functionalities when using FlexxAgent on older Windows operating systems that are out of support:

  • GPU consumption metric collection
  • Flow execution
  • End-user microservices execution
  • Storage unit information
  • For virtual devices, broker and hypervisor detection is not available for all providers.
  • There is no User Input Delay (UID) data because this counter is only supported on Windows Server 2019 and later, and Windows 10, version 1809 and later.

Broker detection might not work for all brokers. There is no user input delay performance data as this counter does not exist in Windows 7 or Windows Server 2008 R2.

Windows 7 and 2008

The installation of FlexxAgent supports the Windows 7 x64 or Windows Server 2008 R2 SP1 operating system under the following conditions:

  • The update KB4474419: SHA-2 code signing support update for Windows Server 2008 R2, Windows 7, and Windows Server 2008: September 23, 2019 must be installed.
  • The update KB3140245: Update to enable TLS 1.1 and TLS 1.2 as default secure protocols in WinHTTP in Windows must be installed, and follow the instructions in the How to enable TLS 1.1 and TLS 1.2 as default secure protocols in WinHTTP in Windows section of the Microsoft support page.
  • Requires at least .NET Framework 4.6, but Flexxible recommends installing .NET Framework 4.8.
  • PowerShell 2.0 with Windows 7 is not compatible with the required TLS 1.2 version to install FlexxAgent. Windows Management Framework 5.1 is required to be installed, which installs PowerShell 5.1.

Windows 8 and 2012

The installation of FlexxAgent supports the Windows 8 operating system under the following conditions:

  • .NET Framework 4.6.2 is required, Microsoft blocks the installation of later versions of .NET Framework on Windows 8.0.
  • All Windows security updates are required to ensure compatibility with TLS 1.2 and SHA-2 code signing.

Download

INSTALLATION BINARY DOWNLOAD WITHOUT GRAPHICAL INTERFACE

The download of FlexxAgent without a graphical interface is done from Workspaces -> Level 2 -> Reporting Groups.

In the list view table, you must select the reporting group for which you want to download the agent and click on the Download FlexxAgent button.

rg-l2

A window will open to download the FlexxAgent installer.

l2-unattended-agent-installer

  • If the Generate standalone installer (offline) option is selected, during installation, the binary will not require internet access for verification or downloading binaries.

  • If, on the other hand, the Generate standalone installer (offline) option is not selected, the minimal installation package will be downloaded. In this manner, the binary will access the internet to verify and download the latest binaries.

Unattended Deployment

FlexxAgent supports being launched through unattended deployment methods, such as GPO distribution, Intune, SSCM, and many more tools.

Installation

The unattended installation of FlexxAgent is done via PowerShell.

Start-Process "<ruta>\FlexxAgent-Installer.exe" -ArgumentList "<agregar parámetro>" -WindowStyle Hidden -Wait

Uninstall

To uninstall FlexxAgent unattended:

"C:\Program Files\Flexxible\FlexxAgent\VDIServiceUpdater.exe" /Uninstall "C:\Program Files\Flexxible\FlexxAgent\FlexxAgent.exe" /quiet

The Microsoft Windows installer used to uninstall FlexxAgent does not delete all files, folders, registry keys, or registry values created during the installation of FlexxAgent. If you need a clean system image, you can safely delete the following files, folders, registry keys and registry values.

Files

  • C:\Windows\Prefetch\FLEXXAGENT.EXE-XXXXXXXX.pf – where XXXXXXXX is a string of letters and numbers
  • C:\Windows\Temp\FlexxAgentInstallation.log

Folders

  • C:\Program Files\Flexxible
  • C:\ProgramData\Flexxible

Reinstallation

To reinstall FlexxAgent on a device removing its preexisting configuration, execute:

FlexxAgent-Installer.exe -repairAgent

For example:

Start-Process "<ruta>\FlexxAgent-Installer.exe" -ArgumentList "-repairAgent true" -WindowStyle Hidden -Wait

Uninstallation Protection

This feature allows protecting the uninstallation process of FlexxAgent to prevent a user from uninstalling it from devices. Configuration can be performed at the Product level and at the Reporting Group level.

Considerations

  • Only an Organization Administrator user can configure it.
  • Version 25.4.2 of FlexxAgent must be installed.
  • By default, the feature is disabled.

Configuration at Product Level

  1. Go to Portal -> Settings -> Products.
  2. In the table, choose the environment where you want to execute the functionality, and in the Action field click on Agent Settings.
  3. In the form, enable or disable the FlexxAgent Uninstallation Protection button.
  4. Click on Save.

Configuration at Reporting Groups Level

The feature can be executed on one or several reporting groups.

Enable protection for a reporting group

  1. Go to Portal -> Settings -> Reporting Groups.
  2. In the table, choose the reporting group where you want to execute the functionality, and in the Action field click on Agent Settings.
  3. In the form, edit the FlexxAgent Uninstallation Protection feature (pencil-shaped button) to choose whether to enable or disable it.
  4. Click on Save.
info

The reporting groups inherit the configuration made at the Product level; however, they can overwrite their own configuration.

uninstall-protection

Enable protection for multiple reporting groups

  1. Go to Portal -> Settings -> Reporting Groups.
  2. In the table, select the reporting groups where you want to execute the functionality.
  3. Click on Edit uninstallation protection. Three options will be displayed:
  • Enable uninstallation protection: protects the reporting groups against the uninstallation of FlexxAgent (this option will not be available if the feature is already enabled at the Product level).
  • Disable uninstallation protection: allows users to uninstall FlexxAgent (this option will not be available if the feature is already disabled at the Product level).
  • Reset uninstall protection: applies the configuration of its Product to the reporting group, whether enabled or disabled.

uninstall-protection-rg

A device will have FlexxAgent Uninstallation Protection enabled in the following cases:

  • The feature is enabled in the reporting group to which it belongs.
  • The feature is deactivated in the reporting group (it is neither enabled nor disabled), but it is enabled at the Product level.

Ways to uninstall FlexxAgent with protection enabled

If a user has the feature enabled but needs to uninstall FlexxAgent, they will have two options:

  1. Move the device to a reporting group that does not have protection enabled.
  2. Via a token:
  • Go to Portal -> Workspaces and select the device.
  • Execute the action Reveal uninstall token which will display a unique token for that device valid until 23:59:59 UTC the next day.
  • Go to the Windows Control Panel and uninstall FlexxAgent by entering the token.

uninstallation

Before managing the uninstallation of FlexxAgent through tools like Intune or custom scripts, move the desired devices to a reporting group that does not have protection enabled.

info

Flexxible recommends having a reporting group with Uninstall Protection disabled, to facilitate uninstallation tasks of FlexxAgent on devices.

Known Issues

FlexxAgent installation

Issue 1 - Windows Management Instrumentation (WMI)

During the installation and/or reinstallation of FlexxAgent, if the computer encounters issues generated by the Windows Management Instrumentation (WMI) service, the process might report these errors in the CMD window:

flexxagent-inst-error

Solution

Run the following commands:

Stop-Service winmgmt -Force

winmgmt /resetrepository

Start-Service winmgmt

Issue 2 - PowerShell process restriction

Some security solutions do not allow the installation and/or self-update of FlexxAgent to be performed effectively. The installer might return the message:

The process was terminated with errors. A corrupted installation was detected due to external processes. This is usually caused by antivirus activity. Please check your antivirus settings.

Solution

Exclude the following files from the device:

C:\Windows\Temp\FlexxibleIT

C:\Windows\Temp\UpdateFlexxAgent.ps1


FlexxAgent uninstallation

Issue - FlexxAgent remains in the service list

It may happen that FlexxAgent keeps appearing in the service list even though it has been uninstalled and all files have been deleted. This would prevent FlexxAgent from being reinstalled.

Solution

Run the following command as administrator in the CMD window:

sc delete "FlexxAgent service"

Then, restart the device.

Supported Parameters

ParameterTypeCaption
proxyAbsoluteUri[string]Proxy URL and port.
proxyUser[string]User for authenticated proxy.
proxyPass[string]Password for authenticated proxy.
proxyPersistConfig[switch]If specified, the configuration is persisted in the registry.
configFilePath[string]Alternative directory for the FlexxAgent-Configuration.conf file.
DebugMode[switch]When specified, creates a text file in the same folder with the script execution transcription.
RepairAgent[bool]Removes the preexisting configuration of FlexxAgent when it is reinstalled on a device.
Help[switch]Lists the supported parameters, with type and description.

Proxy Configuration

FlexxAgent supports transparently configured proxies at the system level without configuring. Proxies with and without authentication are also supported. Proxy configuration can be done via the command line or by modifying registry keys that control this configuration.

Proxy configuration through command line

Installation with parameters: FlexxAgent-Installer.exe -proxyAbsoluteUri ip.ad.dre.ss:port -proxyPersistConfig:$True

Where ip.ad.dre.ss:port refers to the IP or DNS plus the proxy port, or including credentials:

FlexxAgent-Installer.exe -proxyAbsoluteUri ip.ad.dre.ss:port -proxyUser ProxyUserName -proxyPass ProxyUserPassword -proxyPersistConfig:$True

info

FlexxAgent may not have access to the proxy applied in its configuration if it is outside the corporate network. To determine its accessibility, FlexxAgent tries to resolve the DNS record and makes a TCP request to the corresponding port. If the proxy is not accessible, it will report it directly (without proxy).

Configuration through registry keys

Location of the registry keys that store the proxy configuration for FlexxAgent:

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Flexxible\FlexxAgent\Communications

Registry keys related to the proxy configuration:

Key Proxy_URL

Key Proxy_User

  • Key path: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Flexxible\FlexxAgent\Communications
  • Key Name: Proxy_User
  • Key type: REG_SZ
  • Supported values: the username to authenticate to the proxy; for example 'Administrator'. It can be bypassed for unauthenticated proxies.

Key Proxy_Pwd

  • Key path: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Flexxible\FlexxAgent\Communications
  • Key Name: Proxy_Pwd
  • Key type: REG_SZ
  • Supported values: The password to authenticate to the proxy. It can be bypassed for unauthenticated proxies. The value of the Proxy_Pwd key can be set in plain text (not recommended) or base64 encoded and enclosed by «&&&». For example: &&&VGhpc0lzTjArQCQzY3VyZVBAJCR3MHJk&&& for the “Proxy_Pwd” value. In either case, FlexxAgent encrypts the value as soon as FlexxAgent starts or tries to transmit information. You can use a site like https://www.base64encode.org/ to create the base64-encoded password string.
info

Taking into account that FlexxAgent triggers a process at the system level (FlexxAgent.exe) and another at the session level (FlexxAgent Analyzer.exe), and depending on how the proxy acts at one level or the other, it may be necessary to apply different configurations to both processes by defining the Proxy Type. This can be done from the FlexxAgent Settings, in Products.

Manual Update

Go to Workspaces -> Level 1 -> Workspaces -> Operations -> FlexxAgent -> Update FlexxAgent.

Agent_update_manual

The different installed versions are in the dropdown option for My filters -> Predefined filters -> FlexxAgent version summary. This will generate a view of all devices grouped by the FlexxAgent version.

Once the update operation is executed, a Job with all the details of the operation will be generated in the corresponding section.

Logs

FlexxAgent can generate three types of logs:

These records allow consulting information and diagnosing problems from the installation of FlexxAgent.

Installation and update logs

A text log file is left in the C:\Windows\Temp\Flexxible folder, containing information about the installation or update process, as well as dependency information and process details.

FlexxAgent Analyzer logs

FlexxAgent Analyzer logs are stored in the %LOCALAPPDATA%\FAAgent\Logs directory. These can be configured to include or not include information by levels of criticality.

Change log level for FlexxAgent Analyzer

From Workspaces, it is possible to change the log level for one or more devices through the options available in the Operations button.

analog

FlexxAgent service logs

FlexxAgent service logs can be consulted in the Application branch, within the Event Viewer of Windows.

ev

Information obtained from the device

FlexxAgent collects data locally from the device and sends it to the service consoles.

General information

  • Name: device name
  • Device status: power status of the device. It can be On, Off, or Not reporting.
  • Summary status: if the device status is Powered off, it can indicate whether it is Under maintenance or just Powered off. If the device status is Unreported, it can indicate if the reason is Unknown.
  • FlexxAgent Version: version number of FlexxAgent installed on the device
  • FlexxAgent Status: Running or Stopped
  • Last FlexxAgent report: date and time of the last FlexxAgent report on the device. This date might not be recent if the FlexxAgent service is stopped or the device is off.
  • Connection type: indicates whether the device is connected by Wi-Fi, Mobile network, Ethernet, or Unknown.
info

When the connection is made via a wireless LAN network, a message may appear indicating that the device has a 0% signal or that FlexxAgent is not sending reports. This occurs because the Windows location service is disabled on the device. Please check this link to learn how to enable it.

analog

  • Network: device network addressing and public IP for internet access. These networks are created automatically when more than four devices are connected to the same network.
  • Subnet: device's network addressing
  • MAC Address: unique identifier of the device's network card
  • Network changed: date and time of the last network change
  • Sessions: number of user sessions established on the device
  • Last User: last user connected to the device in domain\account format
  • Connected from: when the selected device is a VDI or similar, it shows the name of the device from which the virtual device is accessed.
  • Connection time: session start date and time
  • Domain: domain to which the device belongs
  • Code: this field lets users identify the workspace with a personal code. This code must be manually filled in individually using the Edit option in the Operations menu of the workspace details.
  • OU: organizational unit in the domain where the device's account resides
  • Description: allows the user to identify the device with a personal description. This field must be assigned manually and individually using the Edit option in the Operations menu of the device details.

Extended Info

  • RAM: total amount of RAM available
  • Cores: number of processor cores
  • IP Address: device's IP address on the local network
  • OS: type of operating system
  • Operating System: operating system version
  • OS Build: operating system build number
  • Uptime: time the device has been running since it was last started or rebooted. If fastboot is enabled, the device is only off when it is restarted.
  • Idle time: indicates the time elapsed since the last input event was received in the user's FlexxAgent session. Shows 0 if the user is effectively using any input device connected to the device.
  • Latest Windows update: date of the last application of updates on the device
  • Last boot duration: boot duration of the last startup
  • Reboot Pending: shows if the device requires a reboot for updates.
  • Windows type: type of Windows operating system: Client or Server
  • System disk: amount of free disk space compared to total capacity
  • Public IP of ISP: the ISP is obtained using the public IP. It might not be accurate if connected to a corporate network or using a VPN.
  • Region: obtained using the public IP. It might not be accurate if connected to a corporate network or using a VPN.
  • Broker type: if detected, shows the broker in use.
  • Hypervisor: if virtualization is detected, shows the hypervisor in use.
  • Delivery Group: for VDIs, shows the delivery group to which the device belongs.
  • Subscription / Broker: Microsoft Azure or Citrix service that manages user connections to the device
  • Registration status: indicates the registration status of the virtual device.
  • Maintenance mode: indicates whether the maintenance mode of the virtual device is On or Off.
  • Virtual machine type: indicates the type of virtual device.
  • Session Analyzer: indicates whether or not it is configured to launch Session Analyzer in all the user sessions.
  • Session Analyzer version: Session Analyzer version number
  • Report group: reporting group to which the device belongs
  • BIOS manufacturer: name of the device's firmware manufacturer
  • BIOS version: version of the device's firmware
  • SMBIOS version: version of the device's System Management BIOS
  • BIOS serial number: unique number assigned to the device by its manufacturer. Available only if the manufacturer decided the device needed one.
  • Google Chrome Version: Google Chrome build number, if installed.
  • Microsoft Edge Version: Microsoft Edge build number, if installed.

Information in tabs

FlexxAgent groups information about the following aspects of the device:

Sessions

Displays a table with the log of user sessions established on the device and timely information about the session type, connection status, or start date.

Performance

Displays graphs of the device's main performance counters, based on data collected over the last two hours. The following are included:

tabperformance

  • CPU: processor usage percentage
  • Memory: amount of memory used and available
  • Bandwidth Usage: amount of incoming and outgoing traffic
  • UID: user input delay. Refers to the time lapse between the moment a user performs an action, such as clicking a mouse button or pressing a key, and the moment the corresponding response is displayed on the screen or executed.
  • Connection Signal: signal reception percentage when the device connects via a wireless method.

At the top, a link grants access to the Analyzer module.

Job

All actions performed from the Workspaces module on one or more devices are audited in the Jobs queue. This tab allows you to check the work done for the active device.

tabjob

Alert

Presents a table with the list of all active alerts on the device. When an alert is logged, a notice is displayed at the top of the page.

header-alert

Event Logs

Information about the events present on the device. By default, errors are filtered and only those with severity level Error or Critical are shown. FlexxAgent obtains this information at 10-minute intervals.

The available settings allow you to modify the sampling time or include events by their ID.

Connection Log

Presents a list of the connections established with the device, including each instance where a user logs in or reconnects a previously disconnected session.

tabconex

The session end date is recorded only for sessions that have been disconnected or closed. While the session remains active, this field will remain empty.

Windows services

This option displays the status of services and performs start, restart, or stop operations on Windows services.

W-Services

Disks

Displays a list of all partitions present on the disks identified in the system, as well as statistics of their capacity and occupancy levels.

disks

Boot history

Displays a graph showing the duration of the last ten boots of the device.

tabs

Notifications

Allows you to see if the device has any active notification. When there is one, a message is displayed at the top of the page.

tabnotifcation

Security

From this section, you can check the name of the antivirus installed on the device, as well as its version number, execution status, and a graph on its RAM and CPU usage. This same information will be shown if FlexxAgent detects CrowdStrike as Endpoint Detection and Response (EDR).

security-tab

info

Antivirus detection is automatic only on the Windows Client operating system (Windows 7 or later). On Windows Server, only Bitdefender and Windows Defender will be detected, and these will be the only ones to show RAM and CPU usage.

Compliance

Allows viewing the status of the compliance policy configured for the active device. To update this field on demand, click on Operations -> Enforce compliance.

comptab

Group Policy (GPO)

Displays information about the group policies applied on the active device. Allows you to see the names of the policies as well as the verification time.

PnP Devices

Displays Plug and Play (PnP) devices that are in an error state, which may be due to hardware failures or incorrect driver or device configuration.

pnp

At the bottom of this view, a table shows all events related to PnP devices, creating an entry each time a peripheral is connected or disconnected.

System Summary

Displays system information for Windows devices. Includes:

FieldDetail
OSVersionOperating system version number
OtherOSDescriptionAdditional description of the current operating system version (optional)
OSManufacturerNombre del fabricante del sistema operativo. In the case of Windows-based systems, this value is "Microsoft Corporation"
SystemModelProduct name given by a manufacturer to a piece of equipment
SystemTypeSystem running on the Windows-based equipment
SystemSKUStock keeping unit (SKU) product information (optional)
ProcessorName, number of cores, and number of logical processors of the processor
BIOSReleaseDateBIOS Release Date
EmbeddedControllerVersionPrimary and secondary firmware versions of the embedded controller, separated by "."
BaseBoardManufacturerName of the organization responsible for manufacturing the physical device
BaseBoardProductManufacturer-defined part number for the motherboard
BaseBoardVersionVersion of the physical device
PlatformRoleType of chassis where Unspecified = 0, Desktop = 1, Mobile = 2, Workstation = 3, EnterpriseServer = 4, SOHOServer = 5, AppliancePC = 6, PerformanceServer = 7, MaximumValue = 8
WindowsDirectoryOperating system's Windows directory
SystemDirectoryOperating system's system directory
BootDeviceName of the disk drive from which the Windows operating system starts
LocaleName Identifier of language used by the operating system
TimeZoneName of the operating system time zone
PageFileSpaceActual amount of disk space allocated for use as a page file, in megabytes
PageFileName of the page file
BIOSModeDevice boot mode (BIOS or UEFI)
SecureBootStateSecure boot mode status (Off, On)

Reporting groups history

Allows you to see which reporting groups the device belongs to, the date of incorporation, and if it has been assigned to the group manually or automatically.