Back in June, Pierre Marmignon of VirtuAll Solutions and CitrixTools.net released the first version of his FREE Virutal User Environment Manager (VUEM).
Back in June, Pierre Marmignon of VirtuAll Solutions and CitrixTools.net released the first version of his FREE Virutal User Environment Manager (VUEM). You may remember the news from late March when, just as he was set to release VUEM, RES Software intervened by taking legal action on Pierre's employer, OVESYS. OVESYS is a RES Software partner, and even though Pierre built VUEM as a personal project, RES was concerned that the tool might interfere with their partnership. The community charged to Pierre's defense, and after a month or so, RES and OVERLAP (the parent company of OVESYS) came to an agreement that allowed Pierre to release VUEM.
Currently, VUEM is available for free with an option for paid support, which retails for $9/user. The free version is unrestricted, except that those that paid for support receive new versions a few months earlier than users that don't pay for support. There are some free, community-driven support options available for people that don't pay for support, as well.
The VUEM architecture is relatively simple. Admins make changes via the VUEM Admin Console, which stores all configuration information in a SQL database. On the client side, one of two agents (a service that works with a GUI client and can refresh settings via the UI, and a command line client that can be run manually or via logon script) connects to the SQL server to get the configuration information. A small ADM template needs to be imported into group policy which contains the database connection information that the agents use.
VUEM was made for virtual desktops (SBC or VDI), but also works with traditional desktops. Both agent packages require .Net Framework 4.0, and the Agent Service requires SQL Compact Edition Server 3.5 SP2. The minimum supported operating system for the agent is Windows XP for desktops and Windows 2003 for servers.
The admin console can run from anywhere, and the setup process configures the database for you. You do need to have a SQL database before starting, and SQL Express works just fine. Launching the admin console presents you with this screen, where everything you can do is put right in front of you:
As you can see in the screenshot (click on it for the full size image), the top level in a VUEM configuration is the Site. This isn't an AD site, just the logical container for VUEM settings. You can have multiple sites, each with it's own configuration profile, in the same database.
In each site, you can configure the following "actions":
- Applications - Configure application shortcuts, icons, and Start menu location, as well as autostart applications
- Printers - Map network printers
- Drives - Map network drives or virtual drives to locations on the local machine
- Registry Entries - Create and set registry values
- Environment Variables - Create and set environment variables
- Ports - Map COM and LPT Ports
- INI Files - Create or edit INI files
- External Tasks - Launch any external process
- Folders and Files - Perform operations on folders and files
- User DSN - Create SQL User DSNs
- File Association - Manage file type associations
You first steps when setting up VUEM are to configure the things you want to manage and select the users that will have these applied. After that, you'll need to connect the configurations to the users using what VUEM calls "Filters" and "Actions Assignments." These two aspects are what makes VUEM more than just a handy tool and turn it into a powerful management solution.
By default, VUEM has an "Always True" filter that, when assigned to the users via the Actions Assignment section, will pass every configured action on to the users. You can create other filters, though, that can be used later to apply settings only to users or devices that conform to certain characteristics:
- IP Address
- Client IP Address
- Active Directory Site
- Environment Variable
- Registry Value
- WMI Query Result
- User Country
- User UI Language
- User SBC Resource Type (Choose between desktop or published app)
- OS Platform Type (Choose between x86 or x64)
- Connection State (Choose between online or offline)
- XenApp Version
- XenApp Farm Name
- XenApp Zone Name
- XenDesktop Farm Name
- XenDesktop Desktop Group Name
- Provisioning Services Image Node (Choose between shared and private)
So, when I set up a rule, I configured an action to map a drive, created a XenApp Farm Name rule, and applied that action to my users so that anyone who logs in to a specific XenApp farm has a specific drive mapped. I have to say that while I don't think the process to create and assign the actions and filters to users is very intuitive, it's not hard to see how granular the control is for administrators. I'd imagine that once you get your filter rules and conditions figured out, the process isn't as complex. I wonder, though, if there's a way to have two ways to assign actions--a "simple" way that "just works," and an "advanced" way where we can make use of all of the capabilities that are built in.
Aside from user environment settings, Pierre has also built in some system utilities. These utilities run all the time on the client, and because of that they require the VUEM Agent Service on the endpoint. Here's the utilities that are available:
- Fast Logoff - For RDS and XenApp environments only, the session is disconnected as soon as the user clicks logoff, rather than after the logoff event has finished processing. The session is still closed gracefully on the server side, but the user doesn't have to wait.
- CPU Management - "Entry Level" CPU management allows the admin to knock the priority of a process down when it spikes over a certain threshold. The admin configures the CPU % threshold, how long it has to be at that percentage before knocking priority down, and how long to wait before raising the priority back to normal. You can configure it to exclude certain processes.
- Memory Management - Optimizes the amount working set memory consumed by idle processes that have been idle for a configurable amount of time up to 3 hours.
- Process Management - Essentially a blacklist for processes, the Agent Service watches for process execution, and if it sees one of the blacklisted processes start, it will terminate it automatically and notify the user.
VUEM itself has dozens of configuration options that I just can't get into here, but essentially if it can be configured, Pierre has exposed it via the management console.
All in all, I love the fact that this tool exists and is free for anyone to use. Anyone who pays for support is helping Pierre expand the product. The Fast Logoff, CPU Management, Memory Management, and Processes Management features are all new since the first time I saw product, and Pierre's hope is to use the money VUEM makes to hire a developer to work full time on the product.
(You read that correctly - there was no full-time developer making this product. It was done entirely in Pierre's spare time, which makes it that much more impressive.)
So, THANK YOU, Pierre, for making this tool and for making it available to everyone. Pierre runs the VirtuAll network of sites: CitrixTools.net, VirtuAll-Solutions.com, and, of course, VirtualDesktops.info, where you can download VUEM to try for yourself.