VMware Horizon View AutoConnection Utility – UPDATE

 Updated Version 1.0:

Screen Shot 2014-12-19 at 4.54.42 PM

I have released a version 1.0 of the AutoConnection Utility with the following updates / fixes:

Updates:

  • Disable Shade
    • Ability to enable / disable the “shade” for View Sessions by checking the “Disable Shade” option. This is the menu bar (shade) at the top of the Horizon Client.   This prevents the user from resizing or exiting out of the desktop back to the client desktop.  This option is only available for fullscreen or multimonitor desktop layouts.  This option will be disabled for any other choice.Screen Shot 2014-12-19 at 3.33.33 PM
  • Full 64-bit View Client Support
    • Support for View 3.x clients both 32 and 64 bit
  • Quit Application When Session Ends
    • Ability to quit the View AutoConnection Utility automatically when the View Desktop Session ends.  This can be useful for for thin clients so the session will automatically log off.
  • Use Custom Command String
    • Will allow the user to specify a custom command string after the vmware-view.exe executable.  By clicking the “Refresh” button, the current command string will be built which can then be modified.  When this option is enabled, the application will execute the custom command string specified in the text box.
  • Hide View Client After Launch
    • This is a new feature, only supported in 3.1 and later clients.   It will hide the View Client and application selector window after launching a remote session.   This option will not be enabled for clients earlier than 3.1.
  • Prevent more than one copy of the app from running
    • The application now checks to see if another copy of the AutoConnection Utility is running and it will prevent the application from launching if it detects another copy running.
      Screen Shot 2014-12-19 at 4.48.30 PM
  • Fixes:
  • If a pool had a space in the name, it would not launch and user would get an entitlement error.  oops.
  • Fixed threading issue so the app can launch several desktops without reloading
  • Fixed issue with 64-bit View Clients

Everything else is the same as far as configuration and operation as detailed below.

The new version can be downloaded here:  http://goo.gl/n4HrJ8


Overview:

I had a few customers recently who are looking to repurpose old Windows based systems as thin clients for connecting to VMware View virtual desktops.   They asked if there was a way to directly connect into the users virtual desktop on system startup.   There are certainly ways to do it via command line or URI, but I wanted to come up with a easy, consistent way to do it.    I decided to write an app in .NET that is essentially a wrapper for the View Client.  It creates the command line variables based on what the user configures in the GUI and automatically connects to the specified desktop or application pool.  All of the user configured information is stored in the registry under the current user hive.

The application silently and automatically connects into either a desktop or application pool each time a user logs in by placing it in the startup folder.

Let’s take a look at how to use the application.

Prerequisites:

  • Windows OS
  • .NET Framework 4.0
  • VMware View Client Installed (32 or 64 bit)

The application is delivered as a single .exe written in Visual Basic .NET 2013.   The application is called View_AutoConnect.exe.   The application requires the VMware View Client be installed to function.  If the client is not detected, the user will receive the following message:

Screen Shot 2014-09-14 at 10.19.22 AM

The URL to download the latest VMware View Client is provided in the error message.   Once they have the client installed they will be able to configure the application.

The first time you launch the application you will need to specify the connection configuration data.  The data is saved to the registry in the current user hive and is dynamically saved as it is entered.

Screen Shot 2014-09-14 at 10.23.19 AM

Configuration:

Mandatory Settings:

  • Select either a Desktop Pool or Application Pool (View 6.x and Later Only) type
    • Traditional Virtual Desktop
    • Seamless Published Application (View 6.x and later)
  • Enter the Name of the Desktop or Application Pool
  • Select the Protocol Type
    • PCOIP
    • RDP
  • Enter the IP or Name of the View Connection Server
  • Select to either log in as the current user or enter credentials
  • Select the desktop layout type
    • Full Screen
    • Multi Monitor
    • Large Window
    • Small Window

Optional Settings:

  • Connect USB devices into the desktop session automatically on desktop startup
  • Connect newly inserted USB devices automatically into the desktop session
  • Launch the View Session Silently
    • NOTE: This suppresses all errors from the View Client directly, but the application will capture any exit codes and present them in a message box (see below)

Testing the Connection

Once you have configured all of the required fields you can test the connection by clicking the “Test Connection Button”

Screen Shot 2014-09-14 at 10.25.50 AM

If any of the mandatory fields are not filled out, you will receive the following error message – this message will appear any time the app is attempting to make a connection if any data is missing.

Screen Shot 2014-09-14 at 10.28.01 AM

Once this information is corrected you can test the connection to the specified pool.

Screen Shot 2014-09-14 at 10.38.44 AM

NOTE:  If the connection server is not a trusted connection and the certificate checking mode is set to warn or never connect to an untrusted server and you are running in silent mode you will get the following error:

Screen Shot 2014-09-14 at 10.50.43 AM

The certificate checking mode is set either on the View Client directly or through Group Policy.

Running the Application

Once you have tested your connection, you are ready to enable AutoConnection.  You enable AutoConnection by checking the “Enable AutoConnection” box.   A common use case would be to place the .exe in the Windows startup folder so that every time a user logs in it will automatically connect to the Virtual Desktop.

Screen Shot 2014-09-14 at 10.53.32 AM

This will run the application with the GUI hidden and will automatically connect to the specified pool.   The application will minimize to the system tray and a balloon will indicate the connection process is occurring.

Screen Shot 2014-09-14 at 10.55.55 AM

At this time the View Session will be connected based on the user specified information.

If there are any errors encountered while running silently, the application will capture any exit codes from the View Client and present them to the user as shown below:

Screen Shot 2014-09-14 at 11.01.51 AM

Updating the Application

If you need to make changes to the application when it is running in AutoConnect mode you need to find the tray icon and either right-click it and choose “Update Settings” or Double-Click it.

Tray Icon:

Screen Shot 2014-09-14 at 11.03.12 AM

tray

This will bring the form back up so changes can be made.

Exiting the Application 

The close box on the form minimizes the application to the system tray and does not close it.  It will continue to run in the system tray until it is manually ended.   To end the application either choose File | Exit from the menu bar or Exit by right-clicking on the tray icon.  You will receive the following notice before ending the application.

Screen Shot 2014-09-14 at 11.08.58 AM

Hopefully this application will be useful for some other people out there.   I would appreciate feedback on errors or suggestions for improvement.  Please add comments to this post and I will get back to you as soon as I can.

Here is the download link: http://goo.gl/n4HrJ8

 

Posted in Horizon View, Horizon View Utilities | 6 Comments

Raspberry Pi as a Horizon View Client

How to use a Raspberry Pi as an endpoint for VMware Horizon View using View Open Client and Chromium for Blast / Workspace Access.

Blog post in progress….

Raspberry Pi as Horizon View Client

Raspberry Pi as Horizon View Client

Raspberry Pi Blast

Raspberry Pi Blast

 

Posted in Horizon View Utilities | Tagged , | Leave a comment

Horizon Mirage Settings Utility

In my new role I have been doing a lot of Horizon Mirage demonstrations.   Mirage is designed to run in the background and not affect end-user performance.   This is great for end-users,  while administrators are deploying base layer updates,  etc. – but it makes it difficult when trying to demonstrate the product quickly.   In digging through the Mirage .xml configuration files, I found the settings that enable the client-side throttling.

To enable me to better demonstrate things such as base layer updates, XP to Windows 7 migrations or simply centralizations, I wanted to be able to speed up the process.   I wrote an application in VB.net to accomplish this.   The application allows you to enable or disable the client side throttling and essentially allow the application to run at full speed.   It also allows changing the Mirage Server, which is something I do often in lab and for demonstrations.

A screenshot of the application is below – please reach out to me via twitter (@chrisdhalstead) if you are interested, and I will share the application with you.    I am also very interested in any additional ideas for configuration parameters that can be added – so please reach out!

Mirage Update Utility

Mirage Update Utility

Posted in Horizon View Utilities | Tagged | Leave a comment

Horizon View Events Notifier

*Note:  The direct download and version information is available below

There were some questions on my team regarding how to send emails based on events generated in the Horizon View EventsDB.  The Horizon View Events Database was first introduced with Horizon View 4.5.   There is a great article by Dwayne Lessner on doing this using SQL and PowerShell (http://itbloodpressure.com/2011/02/27/no-desktops-big-problems/).  I decided to write something in vb.net that would allow this alerting external to the SQL database.

I wrote the application in vb.net and used the standard SQL client and Mail references.   The application has a settings tab which allows configuration of the SQL server/instance and username/password.   It allows you to test the SQL connection prior to starting the application.   You can also choose what type of alerts to notify on.  By default, only error events are alerted on, but you can choose to be notified on Warnings and Audit failures. You can also now choose how many minutes back you want to query the EventsDb.  You also set an SMTP server, port and an email address to send the alerts from.  You can add multiple addresses in the alert recipients field.  You can also test the SMTP connection by sending a test email.   All of the settings are saved in an xml configuration file, and the SQL password is 256 bit AES encrypted.    To start the application, simply click the start button, or start with the /silent switch.   The silent switch starts the application automatically and minimizes to the system tray.  Minimizing the application will also send it to the system tray.  By default, the application polls every 60 seconds for new events to alert on.  There is now a context menu from the tray that allows you to refresh now, show the full form and exit the application.

UPDATE – The application is available from the link below.  I have also added some new features.   There is a readme.txt in the .zip that details how to configure it.

Version 1.5:  Added ability to clear events, system tray context menu and how far back to query events

Version 1.6: Added Database Name field  and Table Prefix options for SQL configuration

Horizon View Events Notifier Version 1.6 Download:  http://goo.gl/WP7Vnt

View_Events_Alerts

Horizon View Event Notifier – Alerts

View_Events_Config

Horizon View Event Notifier – Settings

View_Events_Tray

Horizon View Event Notifier – System Tray

Starting the App

Starting the App

Stopping The App

Stopping The App

Posted in Horizon View Utilities | Tagged | 26 Comments