New Horizon Golden Image Deployment Tool released

Today at VMware Explore I have launched a new version of the Horizon Golden Image Deployment Tool aka hgidt. This new version is a complete rewrite of the old one as I moved the code base to Python. As base I used a converted framework of the old tool (using ChatGpt :D) in Tkinter and my existing python module for Horizon.

Why the rewrite?

I decided for a rewrite as I wante dto be able to publish the tool as an app and most anti malware tools will flag an exeutable that turns out to be a powershell script as malicious. Besides that I thought it would be easier to make the tool more flexible and more important faster. I also wanted to be able to use it from a mac. While the tool itself works flawless when started as a script I did run into issues compiling it into a Mac App so for now I don’t have that yet.

Changes

  • Switch from Powershell 7 to Python
  • replaced the selector for machines to deploy a secondary image to to a dropdown and number for amount or percentage of machines
  • published as an executable
  • Credentials storing made optional
  • Moved storing of credentials to the local credentials store
  • Connect button connects and gets info for both VDI & RDS

Where can I get it?

For now a zip file with the executable (and a ton of other files, it was either that or a slower starting app.) can be found on my Github which also has my (messy) source code.

Did anything change in how I use it?

Only some tiny bits like the option that I added to store the password or not and some slight changes on the VDI/RDS but I think these will be self explanatory.

Pics or it didn’t happen

The executable among the 1000’s of other files needed for Python

← Back

Thank you for your response. ✨

The configuration page, note the checkbox to store the password.
With the popup to ask for the password
After testing the credentials

The VDI & RDS Tabs after connecting. Take note of the already selected resizing options. These will be read from the current config so you get the same size when redeploying.

After selecting a new snapshot and enabling the secondary image to be pushed to selected machines
Deploy button was hit
And after a refresh

Todo list & bugs

  • FIx the percentage of machines that sometimes fails
  • add more logging
  • find a method to package into an app for macos

Used Python Modules

These are the modules I am using in this application

  • tkinter
  • tkcalendar
  • datetime
  • configparser
  • os
  • horizon_functions (own custom module)
  • keyring
  • requests
  • threading
  • time
  • sys
  • math
  • loguru
  • ttkthemes

My #100DaysOfCode #Python Challenge == VMware_Horizon Module

So after 5 weeks of following the #Python training for my 100DaysOfCode challenge I have decided that my main goal for the challenge itself will be to work on the Horizon Python Module. With the course some things I find really boring and I need a real target to really learn things instead of just repeating someone else is doing as well.

I will still do some of the fun parts of it in time like databases and such when I need it but for now I will focus on the module. This weekend I added handling of the Instant Clone domain accounts to the module and also added documentation both in the module and the github repository. I know I will still learn heaps because almost all of it is still rather new and repetition works best for me.

Added Methods to the module

  • External Class
    • get_ad_domains
  • Settings class
    • get_ic_domain_accounts
    • get_ic_domain_account
    • new_ic_domain_account
    • update_ic_domain_account
    • delete_ic_domain_account