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.
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 the 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.
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 Service (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 (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.
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
.
- Note: The Azure PowerShell execution policy should be set to
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 theHow 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
The installation binary download for FXXOne is available with and without graphical interface.
INSTALLATION BINARY DOWNLOAD WITH GRAPHICAL INTERFACE
BUTTON TO DOWNLOAD FLEXXAGENT
In Portal
-> Home
, the Download agent
button will allow you to download FlexxAgent to the device. This option is available to all Organization Administrators
users of any type of organization.
If the organization has more than one report group, clicking on the Download agent
button will change the interface to the Report groups
section to download FlexxAgent in the chosen report group.
A few seconds after the installation, the device will be visible in Workspaces. All functionalities for controlling, monitoring, and automating tasks on your devices will be activated from that moment.
BUTTON TO GENERATE A MAGIC LINK
The Generate magic link
button optimizes the access to download FlexxAgent on the devices. It allows users with the Organization Administrator
role within a partner-type organization to generate and send a link to users so they can download the agent on their devices without being logged in.
Create magic link
The Generate a magic link
button is located on the Portal home page in the consoles of users with the Organization Administrator
role within a partner-type organization.
Clicking the button opens a form where you should specify which report group the link will be assigned to and for how long it will be active.
Next, a window will indicate that the link has been created. And it will allow you to copy it directly to share it.
By clicking Accept
, the console will automatically go to the detail view of the selected report group. From there you can check the magic link just created, as well as others that have been created earlier.
Use a magic link
To use the link just copy and paste it into the browser's address bar. At that moment, FlexxAgent will show the following screen, indicating that it has been downloaded on the device.
Revoke a magic link
A Magic link
can be revoked from Portal
-> Settings
-> Report groups
. In the list view, click on the report group where the Magic link
you want to revoke is located. And then, in the Action
field of the table, choose the Revoke
option.
A window will appear to confirm the action.
By clicking Accept
, a message will appear for a few seconds in the report group table informing of the action: "The magic link has been successfully revoked."
It is not possible to use a Magic link
that has been revoked or has expired again.
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 report group for which you want to download the agent and click on the Download FlexxAgent
button.
A window will open to download the FlexxAgent 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 numbersC:\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
Known Issues
FlexxAgent installation
Issue 1 - Windows Management Instrumentation (WMI)
During the installation and/or reinstallation of FlexxAgent, if the computer encounters issues caused by the Windows Management Instrumentation (WMI) service, the process may report these errors in the CMD window:
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
Uninstallation of FlexxAgent
Issue - FlexxAgent remains in the service list
FlexxAgent might still appear in the service list even after uninstalling and deleting all files. This would prevent FlexxAgent from being reinstalled.
Solution
Run the following command in the CMD window as administrator:
sc delete "FlexxAgent service"
Then, restart the device.
Supported Parameters
Parameter | Type | Caption | |
---|---|---|---|
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
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 path:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Flexxible\FlexxAgent\Communications
- Key Name: Proxy_URL
- Key type: REG_SZ
- Supported values: the URL and port; for example 'http://192.168.1.1:3128' or 'https://192.168.1.1:3128'
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.
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
.
Update
FlexxAgent can be updated automatically or manually from Workspaces.
Auto update
This functionality is controlled with settings that are usually enabled in Workspaces. The path to view or change the configuration of this functionality is Workspaces
-> Level 3
-> Settings
-> Auto update
. Selecting True
will allow a new version of FlexxAgent to be detected and sent automatically to all active devices in the organization. This action will leave a Job
in Workspaces with all the operation details.
Manual Update
The path to manually update FlexxAgent is
Level 1
-> Workspaces
-> Operations
-> FlexxAgent
-> Update to latest version
.
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
Inside the %LOCALAPPDATA%\Flexxible
folder, a text log is left 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.
FlexxAgent service logs
FlexxAgent service logs can be consulted in the Application
branch, within the Event Viewer
of Windows.
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 Off, it can indicate whether it is In Maintenance or just Off. If the device status is Not Reporting, it can indicate whether 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.
When the connection is made through 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.
- 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 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.
- Inactive Time: indicates the time elapsed since the last input event was received in the FlexxAgent user session. Displays 0 if the user is effectively using any input device connected to the device.
- Last Windows update: date of the last application of updates on the device
- Last boot duration: boot duration of the last start
- 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 the 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: report group to which the device belongs
- BIOS Manufacturer: name of the device's firmware manufacturer
- BIOS Version: version of the device firmware
- SMBIOS Version: System Management BIOS version of the device
- 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 charts of the main performance counters of the device, based on data collected during the last two hours. The following are included:
- 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 allows access to the Analyzer module.
Jobs
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.
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.
Event Logs
Information about 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.
Using the options available in the configuration, you can 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.
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 shows the status of services and executes start, restart, or stop operations for Windows 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.
Boot history
Displays a graph on the duration of the last ten device boots.
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.
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 of its RAM and CPU usage. The same information will be displayed if FlexxAgent detects CrowdStrike as Endpoint Detection and Response (EDR).
Antivirus detection is automatic only on the Windows Client operating system (Windows 7 or later versions). On Windows Server, only Bitdefender and Windows Defender are detected, and these are the only ones that will 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 Operations
-> Enforce compliance
.
Group Policy (GPO)
Displays information about group policies applied on the active device. Allows you to see the names of the policies as well as the check time.
PnP Devices
Shows Plug and Play (PnP) devices that are in an error state, which may be due to hardware failures or incorrect driver or device configuration.
At the bottom of this view, there is a table that records all events related to PnP devices, generating an entry each time a peripheral is connected or disconnected.
System Summary
Shows system information for Windows devices. Includes:
Field | Detail |
---|---|
OSVersion | Operating system version number |
OtherOSDescription | Additional description of the current operating system version (optional) |
OSManufacturer | Nombre del fabricante del sistema operativo. In the case of Windows-based systems, this value is "Microsoft Corporation" |
SystemModel | Product name given by a manufacturer to a piece of equipment |
SystemType | System running on the Windows-based equipment |
SystemSKU | Stock keeping unit (SKU) product information (optional) |
Processor | Name, number of cores, and number of logical processors of the processor |
BIOSReleaseDate | BIOS Release Date |
EmbeddedControllerVersion | Primary and secondary firmware versions of the embedded controller, separated by "." |
BaseBoardManufacturer | Name of the organization responsible for manufacturing the physical device |
BaseBoardProduct | Manufacturer-defined part number for the motherboard |
BaseBoardVersion | Version of the physical device |
PlatformRole | Type of chassis where Unspecified = 0, Desktop = 1, Mobile = 2, Workstation = 3, EnterpriseServer = 4, SOHOServer = 5, AppliancePC = 6, PerformanceServer = 7, MaximumValue = 8 |
WindowsDirectory | Operating system's Windows directory |
SystemDirectory | Operating system's system directory |
BootDevice | Name of the disk drive from which the Windows operating system starts |
Locale | Name Identifier of language used by the operating system |
TimeZone | Name of the operating system time zone |
PageFileSpace | Actual amount of disk space allocated for use as a page file, in megabytes |
PageFile | Name of the page file |
BIOSMode | Device boot mode (BIOS or UEFI) |
SecureBootState | Secure 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.