Skip to content
Nick's IT Blog

Nick's IT Blog

  • Home
  • About Nick

From Host Pool to Test Bed: Automating AVD with Hydra + Login Enterprise (Part 1)

A Powerful New Chapter for Login VSI

If you haven’t seen it in the headlines, Login VSI sent a ripple through the EUC and AVD ecosystem with its acquisition of Hydra – a tool that helps streamline your AVD management and monitoring capabilities. Everyone who has gone through or is going through a migration from Horizon/Citrix to native AVD is met with quite a shock – most of the tools they’re used to that helps streamline management and monitoring are completely gone, or they have to go through fifty steps to get there. This presents a huge barrier for companies getting out of the datacenter business but need to provide some sort of virtual desktop solution to their end users. That’s where Hydra comes in!

Integrations

One question I am constantly getting from existing Login Enterprise customers: what integrations are there between Hydra and LE today? Well – while there aren’t any direct integrations available in the GUI out of the box (yet), one thing you can immediately do is use Hydra’s powerful scripting engine, where the sky is the limit. With the click of a mouse, I can instantly convert a Host Pool to an automated test bed. Check it out:

The script does two main things:

1) Downloads the Logon EXE ZIP, places it in C:\LoginVSI, and extracts it

2) Creates a shortcut in the shell:common startup directory and uses the applianceFQDN variable for the args.

Within your Hydra portal, clone a new script from the template. Create the below script and just fill in the $applianceFQDN variable with your appliance FQDN:

LogWriter("Downloading Logon EXE")

# Base FQDN of the appliance
$applianceFQDN = 'https://yourApplianceFQDN.com'

# URL of the ZIP file to download
$url = "$applianceFQDN/contentDelivery/api/logonApp"

# Arguments to pass to the EXE (adjust as needed)
$arguments = $applianceFQDN

# Define temp paths
$tempDir    = 'C:\LoginVSI'
$zipName    = [IO.Path]::GetFileName($url)                    
$zipPath    = Join-Path $tempDir "$zipName.zip"                      
$extractDir = Join-Path $tempDir ([IO.Path]::GetFileNameWithoutExtension($zipName))

# Define shortcut properties

# Define target executable and Startup shortcut paths
$targetPath = 'C:\LoginVSI\logonApp\LoginPI.Logon.exe'
$shortcutPath = "$env:ALLUSERSPROFILE\Microsoft\Windows\Start Menu\Programs\Startup\LoginPI_Logon.lnk"

# Ensure the extract directory exists (or recreate it)
if (Test-Path $extractDir) {
    Remove-Item -LiteralPath $extractDir -Recurse -Force
}
New-Item -ItemType Directory -Path $extractDir | Out-Null

try {
    # Download the ZIP file
    Invoke-WebRequest -Uri $url -OutFile $zipPath -UseBasicParsing

    # Extract the ZIP into $extractDir; -Force will overwrite if files already exist
    Expand-Archive -Path $zipPath -DestinationPath $extractDir -Force

    # Find the first .exe in the extracted folder (recursively)
    $exe = Get-ChildItem -Path $extractDir -Filter '*.exe' -Recurse |
           Sort-Object LastWriteTime -Descending |
           Select-Object -First 1

    if (-not $exe) {
        throw "No executable (.exe) found in '$extractDir'."
    }

    # Create the shortcut

try {
    
    # Verify the target executable exists
    if (-not (Test-Path -Path $targetPath -PathType Leaf)) {
        throw "Target executable not found: $targetPath"
    }

    # Ensure the Startup folder exists (it should, but just in case)
    $startupFolder = Split-Path -Parent $shortcutPath
    if (-not (Test-Path -Path $startupFolder -PathType Container)) {
        throw "Startup folder does not exist: $startupFolder"
    }

    # Create the WScript.Shell COM object
    try {
        $WshShell = New-Object -ComObject WScript.Shell
    }
    catch {
        throw "Unable to create WScript.Shell COM object: $_"
    }

    # Create the shortcut
    $shortcut = $WshShell.CreateShortcut($shortcutPath)

    # Assign properties to the shortcut
    $shortcut.TargetPath       = $targetPath
    $shortcut.Arguments        = $arguments
    $shortcut.WorkingDirectory = Split-Path -Parent $targetPath

    # Save the shortcut to disk
    $shortcut.Save()

    Write-Host "Shortcut successfully created at: $shortcutPath"
    LogWriter("Shortcut created!")
}
catch {
    Write-Error "Failed to create shortcut: $_"
   LogWriter("Failed to create shortcut! $_")
}


}
catch {
    Write-Error "An error occurred: $_"
    LogWriter("An error occurred! $_")
}

Now, head to your Host Pool details that you want to convert to an automated testing pool and run the script!

Now, monitor the results within the same page!

Now I’ll kick off an Application Test and watch my Launcher machine automatically launch the AVD pool and start the test…

It’s as easy as that!

Now – what if we wanted to convert a Host Pool to an entire fleet of Launcher machines? Stay tuned for Part 2… 😉

What other Hydra+LE integrations are you looking for? Send me a note and let’s talk!

Also – did you know that Hydra is available for a FREE FULLY FEATURED 30 day trial in the Azure Marketplace? Even after the 30 days, it’s limited to 5 hosts per Host Pool and a single tenant, which is still great for dev/test environments.

Happy automating!

Automated TestingAVDAzureHydraLogin EnterpriseLogin VSI
By Nick BurtonJune 26, 2025AVD, Azure, Hydra, Login Enterprise, Login VSI

Post navigation

Elevating Test Management with Login Enterprise 6.0

Recent Posts

  • From Host Pool to Test Bed: Automating AVD with Hydra + Login Enterprise (Part 1)
  • Elevating Test Management with Login Enterprise 6.0
  • Session Metrics: Busting the Vendor Myths
  • The Mysterious Login Enterprise Universal Web Connector (…and Why It’s So Freakin’ Cool)
  • Work Around the Omnissa Branding Changes with Session Metrics

Recent Comments

    Archives

    • June 2025
    • April 2025
    • March 2025
    • February 2025
    • November 2024
    • April 2024
    • March 2024
    • February 2024
    • January 2024
    • November 2023
    • September 2023
    • August 2023
    • May 2023
    • January 2023
    • December 2022
    • November 2022
    • October 2022
    • August 2022
    • June 2022
    • January 2022
    • November 2021
    • July 2021
    • May 2021
    • April 2021
    • March 2021
    • February 2021
    • December 2020
    • April 2020
    • October 2017
    • August 2017
    • February 2017
    • September 2016
    • May 2016
    • December 2015
    • September 2015
    • August 2015
    • July 2015

    Categories

    • App Packaging
    • App Volumes
    • AVD
    • Azure
    • Bug
    • Citrix
    • Citrix Integrations
    • Device Management
    • Digital Employee Experience
    • General
    • Horizon
    • Horizon View
    • Hydra
    • Imprivata
    • Intune
    • Kerberos
    • Login Enterprise
    • Login VSI
    • MCS
    • Microsoft Entra
    • Networking
    • Office 365
    • Omnissa
    • OPSWAT
    • Power BI
    • PowerCLI
    • Printing
    • PSADT
    • PVS
    • Security
    • Security Advisory
    • Session Metrics
    • SQL
    • SSO
    • True SSO
    • UAG
    • UniFi
    • Universal Web Connector
    • Upgrade
    • VDI
    • VMware
    • Wireless
    • Workspace ONE Access
    • XenApp
    • XenDesktop
    • Zero Trust

    Meta

    • Log in
    • Entries feed
    • Comments feed
    • WordPress.org
    Copyright © All rights reserved. Theme Easy Magazine by Creativ Themes