/XD_Tool

PowerShell GUI to manage Citrix Virtual Apps and Desktops farms

Primary LanguagePowerShell

XD_Tool

It's a tool for Citrix administrators.
It's a PowerShell script with a GUI written in Windows Presentation Foudation based on Google Material Design theme.
This tool can't replace Studio of course, but it's not the purpose neither today or tomorow.
Actually, it ease the daily work, all farms data are accessible in the same window, it gives a quick access to information.
It"s a scalable tool.

Features

Please see XD_tool screenshots in the screenshots folder.

Main

  • Licenses : Choose type of licenses to see details.
  • Sessions : Choose a farm or all farms to see sessions details.
  • VDAs : Choose a farm or all farms to see VDAs details.
  • Publications : Choose a farm or all farms to see publications details.
  • Farms : Farms list with their DDCs name and state.

  • You can refresh all the page or each item separatly.

    Sessions

  • User sessions : Search for a user sessions in all farms. Kill, hide/unhide or shadow selected session. Refresh data.

  • All sessions : Choose a farm or all farms to see sessions details. Kill, hide/unhide or shadow selected session Export displayed data to XLSX file. Refresh data.
  • Publications

  • Publication : Search for a publications in all farms.
                              View or edit publication settings.
                              List sessions connected to the publication. Kill, hide or shadow selected session
                              List servers on which it's published.
                              List groups and/or users access

  • All Publications : Choose a farm or all farms to see publications details.
  •                                  Enable/disable, hide/unhide or delete selected publication.
                                     Display a copy/paste view.
                                     Export displayed data to XLSX file.
                                     Refresh data.

    VDAs

  • VDA : Search for a VDA in all farms.
                   View VDA details, enable/disable maintenane or turn on/turn off. Refresh data.
                   List sessions connected on the VDA. Kill, hide/unhide or shadow selected session. Display a copy/paste view. Export displayed data to XLSX file. Refresh data.
                   List publication published by the VDA.
                   List hotfixes installed on the VDA.

  • All VDAs : Choose a farm or all farms to see VDAs details. Enable/disable maintenane or turn on/turn off selected VDA. Display a copy/paste view. Export displayed data to XLSX file. Refresh data.
  • Machine Catalogs

  • Machine Catalog : Search for a Machine Catalog in all farms.
                                        View Machine Catalog details.
                                        List VDA in the MC. Enable/disable maintenane or turn on/turn off selected VDA. Display a copy/paste view. Export displayed data to XLSX file. Refresh data.
                                        List sessions connected in the MC. Kill, hide/unhide or shadow selected session. Display a copy/paste view. Export displayed data to XLSX file. Refresh data.
                                        Refresh data.

  • All Machine Catalogs : Choose a farm or all farms to see Machine Catalogs List.
                                              View Machine Catalog details.
                                              List VDA in the MC. Enable/disable maintenane or turn on/turn off selected VDA. Display a copy/paste view. Export displayed data to XLSX file. Refresh data.
                                              List sessions connected in the MC. Kill, hide/unhide or shadow selected session. Display a copy/paste view. Export displayed data to XLSX file. Refresh data.
                                              Refresh data.
  • Delivery Groups

  • Delivery Group : Search for a Delivery Group in all farms.
                                    View Delivery Groups details. View or edit desktop and scheduled reboots
                                    List VDA in the DG. Enable/disable maintenane or turn on/turn off selected VDA. Display a copy/paste view. Export displayed data to XLSX file. Refresh data.
                                    List sessions connected in the DG. Kill, hide/unhide or shadow selected session. Display a copy/paste view. Export displayed data to XLSX file. Refresh data.
                                    List publications published in the DG. Enable/disable, hide/unhide or delete selected publication. Display a copy/paste view. Export displayed data to XLSX file. Refresh data.
                                    Refresh data.

  • All Delivery Groups : Choose a farm or all farms to see Delivery Groups List.
                                           View Delivery Groups details. View or edit desktop and scheduled reboots
                                           List VDA in the DG. Enable/disable maintenane or turn on/turn off selected VDA. Display a copy/paste view. Export displayed data to XLSX file. Refresh data.
                                           List sessions connected in the DG. Kill, hide/unhide or shadow selected session. Display a copy/paste view. Export displayed data to XLSX file. Refresh data.
                                           List publications published in the DG. Enable/disable, hide/unhide or delete selected publication. Display a copy/paste view. Export displayed data to XLSX file. Refresh data.
                                           Refresh data.
  • Maintenance / Registration

  • Registration : Choose a farm or all farms to see VDA unregistered list.
                                Enable/disable maintenane of the selected VDA.
                                Turn on/turn off selected VDA.
                                Display a copy/paste view of unregistered VDAs.
                                Export displayed data to XLSX file.
                                Refresh data.

  • Maintenance : Choose a farm or all farms to see VDA in maintenance mode list.
                                 Disable maintenane of the selected VDA.
                                 Turn on/turn off selected VDA.
                                 Display a copy/paste view of unregistered VDAs.
                                 Export displayed data to XLSX file.
                                 Refresh data.

  • Settings

  • Theme : Choose a theme light or dark and select another color.
  • Configuration : Reset the farms configuration.
  • Version : Version and changelog.
  • Misc : About XD_Tool and thanks part.

    Getting Started

    Two methods to get XD_Tool

    Easier one :

  • Download and install XD_Tool.msi in Release section.
  • The msi only copy the necessaries assembly, pictures and XAML files and create start menu and desktop shorcuts to launch XD_Tool.

    Other method, if you don't want to download a MSI :

  • Download XD_Tool.ps1 and Configuration.7z
  • Unzip Configuration.7z to Configuration folder where you want.
  • If necessary, unblock the 3 Material Design DLL in folder \Configuration\assembly
  • If necessary, unblock EPPlus.dll in \Configuration\PSExcel-master\PSExcel\lib
  • XD_Tool.ps1 must be at the same level than Configuration folder.
  • Run XD_Tool.ps1 by right click.
  • Enjoy.

    Tree folder structure

    C:\Program Files (x86)\PhoenixNBR\XD Tool

    • XD_Tool.exe // PS1 compiled in exe
    • Configuration folder
    • assembly folder // dlls for Material Design
      • MaterialDesignColors.dll
      • MaterialDesignMessageBox.dll
      • MaterialDesignThemes.Wpf.dll
    • Pictures folder // images used in the tool
    • PSExcel-master // Excel module
    • XAML // XAML files in WPF

    C:\Users%USERNAME%\AppData\Local\XD_Tool

    • Log_Errors.txt // errors will be logged in this file
    • Configuration folder
      • Config.xml // configuration file created at first launch
      • Exports folder // XLSX export files created in the tool

    Fisrt launch

    At first launch if the configuration file is not found, you will have a popup to load or create a new one.

    2024-10-01 18_43_49-Clipboard

    The config.xml file is located at C:\Users\%USERNAME%\AppData\Local\XD_Tool\Configuration

    Click New to create configuration file.


    Follow the HowTo instructions.

    If you choose a logo it will replace the XD_Tool default logo.

    Notes

    An XLSX file export of the displayed datais available most of the time.
    You can for exemple easily export all publications or VDAs on demand.

    Human input errors or information are managed by message boxes.
    Text written in red for erros and blue for information.

    A loading spinner is displayed when a request is launched. If this loading spinner is too long, the script may have failed, in this case the error has been logged in the Log_Errors.txt at C:\Users\%USERNAME%\AppData\Local\XD_Tool

    Thanks

    Even if I wrote all the PowerShell script and the XAML files, I have needed help to begin with Material Design.
    So, I would like to thank :

  • James Willock for his great Material Design In XAML Toolkit : http://materialdesigninxaml.net

  • Jérôme Bezet-Torres for his Material Design theme Manager : https://jm2k69.github.io/2019/07/Material-Design-theme-manager.html

  • Avi Coren for the spinner : https://www.materialdesignps.com/post/how-to-add-a-spinner

  • Warren Frame for his work on PSExcel module : https://github.com/RamblingCookieMonster/PSExcel

  • And, of course, Google for the Material Design.