DSCResources/XD7LabApplication/XD7LabApplication.schema.psm1
configuration XD7LabApplication { param ( ## Citrix XenDesktop 7 application name [Parameter(Mandatory)] [System.String] $Name, ## Citrix XenDesktop 7 application executable path [Parameter(Mandatory)] [System.String] $Path, [Parameter()] [ValidateSet('Published','Local')] [System.String] $Type = 'Published', ## Citrix XenDesktop 7 desktop delivery group name [Parameter()] [ValidateNotNullOrEmpty()] [System.String] $DesktopGroupName = 'Default Desktop', ## Application executable arguments [Parameter()] [AllowNull()] [System.String] $Arguments, ## Working directory of the application executable [Parameter()] [AllowNull()] [System.String] $WorkingDirectory, [Parameter()] [AllowNull()] [System.String] $Description, [Parameter()] [ValidateNotNullOrEmpty()] [System.String] $DisplayName = $Name, [Parameter()] [ValidateNotNull()] [System.Boolean] $Enabled = $true, [Parameter()] [ValidateNotNull()] [System.Boolean] $Visible = $true, [Parameter()] [ValidateNotNull()] [System.Management.Automation.PSCredential] [System.Management.Automation.CredentialAttribute()] $Credential ) Import-DscResource -ModuleName XenDesktop7; $resourceId = '{0}_{1}' -f $DesktopGroupName.Replace(' ','_'), $Name; if ($PSBoundParameters.ContainsKey('Credential')) { XD7DesktopGroupApplication $resourceId { Name = $Name; DesktopGroupName = $DesktopGroupName; Path = $Path; ApplicationType = if ($Type -eq 'Published') { 'HostedOnDesktop' } else { 'InstalledOnClient' }; Arguments = $Arguments; WorkingDirectory = $WorkingDirectory; Description = $Description; Enabled = $Enabled; Visible = $Visible; DisplayName = $DisplayName; Credential = $Credential; } } else { XD7DesktopGroupApplication $resourceId { Name = $Name; DesktopGroupName = $DesktopGroupName; Path = $Path; ApplicationType = if ($Type -eq 'Published') { 'HostedOnDesktop' } else { 'InstalledOnClient' }; Arguments = $Arguments; WorkingDirectory = $WorkingDirectory; Description = $Description; Enabled = $Enabled; Visible = $Visible; DisplayName = $DisplayName; } } } #end configuration XD7LabPublishedApp |