• XenApp 6.5 V4 Documentation Script Has Been Updated 10-Jan-2014

    A very quick update to the XenApp 6.5 V4.05 script to 4.05a.  If the Citrix XenApp 6.5 Mobility Pack is not installed an error was given for each of the three new Mobile Experice policy settings.

    VERBOSE: 01/08/2014 18:34:50:  Started Unfiltered User
    VERBOSE: 01/08/2014 18:34:50:   Computer settings
    VERBOSE: 01/08/2014 18:34:50:    ICA
    VERBOSE: 01/08/2014 18:34:50:    Licensing
    VERBOSE: 01/08/2014 18:34:50:    Power and Capacity Management
    VERBOSE: 01/08/2014 18:34:50:    Server Settings
    VERBOSE: 01/08/2014 18:34:50:    Virtual IP
    VERBOSE: 01/08/2014 18:34:50:    XML Service
    VERBOSE: 01/08/2014 18:34:50:   User settings
    VERBOSE: 01/08/2014 18:34:50:    ICA
    VERBOSE: 01/08/2014 18:34:50:    ICA\Adobe Flash Delivery
    VERBOSE: 01/08/2014 18:34:50:    ICA\Audio
    VERBOSE: 01/08/2014 18:34:50:    ICA\Bandwidth
    VERBOSE: 01/08/2014 18:34:50:    ICA\Desktop UI
    VERBOSE: 01/08/2014 18:34:50:    ICA\File Redirection
    VERBOSE: 01/08/2014 18:34:50:    ICA\Mobile Experience
    Property 'AutoKeyboardPopUp' cannot be found on this object. Make sure that it exists.
    At C:\webster\XA65_Inventory_V41.ps1:2977 char:20
    +                             If($Setting. <<<< AutoKeyboardPopUp.State -ne "NotConfigured")
    + CategoryInfo          : InvalidOperation: (.:OperatorToken) [], RuntimeException
    + FullyQualifiedErrorId : PropertyNotFoundStrict<!--?xml:namespace prefix = "o" ns = "urn:schemas-microsoft-com:office:office" /-->
    
    Property 'MobileDesktop' cannot be found on this object. Make sure that it exists.
    At C:\webster\XA65_Inventory_V41.ps1:2981 char:20
    +                             If($Setting. <<<< MobileDesktop.State -ne "NotConfigured")
    + CategoryInfo          : InvalidOperation: (.:OperatorToken) [], RuntimeException
    + FullyQualifiedErrorId : PropertyNotFoundStrict
    
    Property 'ComboboxRemoting' cannot be found on this object. Make sure that it exists.
    At C:\webster\XA65_Inventory_V41.ps1:2985 char:20
    +                             If($Setting. <<<< ComboboxRemoting.State -ne "NotConfigured")
    + CategoryInfo          : InvalidOperation: (.:OperatorToken) [], RuntimeException
    + FullyQualifiedErrorId : PropertyNotFoundStrict
    VERBOSE: 01/08/2014 20:17:16:
    ICA\Multi-Stream Connections
    
    VERBOSE: 01/08/2014 18:34:50:    ICA\Port Redirection
    VERBOSE: 01/08/2014 18:34:50:    ICA\Printing
    VERBOSE: 01/08/2014 18:34:50:    ICA\Security
    VERBOSE: 01/08/2014 18:34:50:    ICA\Session limits
    VERBOSE: 01/08/2014 18:34:50:    ICA\Shadowing
    VERBOSE: 01/08/2014 18:34:50:    ICA\Time Zone Control
    VERBOSE: 01/08/2014 18:34:50:    ICA\TWAIN devices
    VERBOSE: 01/08/2014 18:34:50:    ICA\USB devices
    VERBOSE: 01/08/2014 18:34:50:    ICA\Visual Display
    VERBOSE: 01/08/2014 18:34:50:    Server Session Settings
    VERBOSE: 01/08/2014 18:34:50:   Finished Unfiltered User
    

    As usual, I had to turn to my PowerShell mentor and guru Michael B. Smith for a solution. Michael provided the following function:

    Function validStateProp( [object] $object, [string] $topLevel, [string] $secondLevel )
    {
        #function created 8-jan-2014 by Michael B. Smith
        if( $object )
        {
            If( ( gm -Name $topLevel -InputObject $object ) )
            {
                If( ( gm -Name $secondLevel -InputObject $object.$topLevel ) )
                {
                    Return $true
                }
            }
        }
        Return $false
    }
    

    And the functions use in the script is done this way:

    # added for the XenApp 6.5 Mobility Pack
    Write-Verbose "$(Get-Date): `t`t`tICA\Mobile Experience"
    If( ( validStateProp $Setting AutoKeyboardPopUp State ) -and ( $Setting.AutoKeyboardPopUp.State -ne "NotConfigured" ) )
    {
        WriteWordLine 0 2 "ICA\Mobile Experience\Automatic keyboard display: " $Setting.AutoKeyboardPopUp.State
    }
    If( ( validStateProp $Setting MobileDesktop State ) -and ( $Setting.MobileDesktop.State -ne "NotConfigured" ) )
    {
        WriteWordLine 0 2 "ICA\Mobile Experience\Launch touch-optimized desktop: " $Setting.MobileDesktop.State
    }
    If( ( validStateProp $Setting ComboboxRemoting State ) -and ( $Setting.ComboboxRemoting.State -ne "NotConfigured" ) )
    {
        WriteWordLine 0 2 "ICA\Mobile Experience\Remote the combo box: " $Setting.ComboboxRemoting.State
    }
    

    And with that quick fix the script will run with no errors if the Mobility Pack is not installed.

    VERBOSE: 01/08/2014 20:17:15:  Started Unfiltered User
    VERBOSE: 01/08/2014 20:17:16:   Computer settings
    VERBOSE: 01/08/2014 20:17:16:    ICA
    VERBOSE: 01/08/2014 20:17:16:    Licensing
    VERBOSE: 01/08/2014 20:17:16:    Power and Capacity Management
    VERBOSE: 01/08/2014 20:17:16:    Server Settings
    VERBOSE: 01/08/2014 20:17:16:    Virtual IP
    VERBOSE: 01/08/2014 20:17:16:    XML Service
    VERBOSE: 01/08/2014 20:17:16:   User settings
    VERBOSE: 01/08/2014 20:17:16:    ICA
    VERBOSE: 01/08/2014 20:17:16:    ICA\Adobe Flash Delivery
    VERBOSE: 01/08/2014 20:17:16:    ICA\Audio
    VERBOSE: 01/08/2014 20:17:16:    ICA\Bandwidth
    VERBOSE: 01/08/2014 20:17:16:    ICA\Desktop UI
    VERBOSE: 01/08/2014 20:17:16:    ICA\File Redirection
    VERBOSE: 01/08/2014 20:17:16:    ICA\Mobile Experience
    VERBOSE: 01/08/2014 20:17:16:    ICA\Multi-Stream Connections
    VERBOSE: 01/08/2014 20:17:16:    ICA\Port Redirection
    VERBOSE: 01/08/2014 20:17:16:    ICA\Printing
    VERBOSE: 01/08/2014 20:17:16:    ICA\Security
    VERBOSE: 01/08/2014 20:17:16:    ICA\Session limits
    VERBOSE: 01/08/2014 20:17:16:    ICA\Shadowing
    VERBOSE: 01/08/2014 20:17:16:    ICA\Time Zone Control
    VERBOSE: 01/08/2014 20:17:16:    ICA\TWAIN devices
    VERBOSE: 01/08/2014 20:17:16:    ICA\USB devices
    VERBOSE: 01/08/2014 20:17:16:    ICA\Visual Display
    VERBOSE: 01/08/2014 20:17:16:    Server Session Settings
    VERBOSE: 01/08/2014 20:17:16:   Finished Unfiltered User
    VERBOSE: 01/08/2014 20:17:16:
    VERBOSE: 01/08/2014 20:17:16: Finished Processing Citrix IMA Policies
    

    NOTE: This script is continually updated.  You can always find the most current version by going to https://carlwebster.com/where-to-get-copies-of-the-documentation-scripts/

    Thanks

    Webster

    , ,

    About Carl Webster

    Webster is a Sr. Solutions Architect for Choice Solutions, LLC and specializes in Citrix, Active Directory and Technical Documentation. Webster has been working with Citrix products for many years starting with Multi-User OS/2 in 1990.

    View all posts by Carl Webster

    No comments yet.

    Leave a Reply