VirtualEngine / XenDesktop7

Community Citrix XenDesktop 7 DSC resources
MIT License
22 stars 20 forks source link

Build status

XenDesktop7

The XenDesktop7 PowerShell DSC resources can be used to deploy, configure and maintain a Citrix XenDesktop 7.x deployment.

NOTE: Use of the XD7StoreFront resources with PowerShell v5.0's PsDscRunAsCredential parameter is not supported. This typically only affects the XenDesktop7Lab composite resources as the XD7StoreFront resources don't have a Credential parameter.

NOTE: The majority of the XD7StoreFront* resources use the newer StoreFront 3.6+ PowerShell module and not the legacy StoreFront 3.0 SDK.

Included Resources

XD7AccessPolicy

An access policy rule defines a set of connection filters and access control rights relating to a desktop group.

Syntax

XD7AccessPolicy [string]
{
    DeliveryGroup = [string]
    AccessType = [string] { AccessGateway | Direct }
    [ Enabled = [bool] ]
    [ AllowRestart = [bool] ]
    [ Name = [string] ]
    [ Description = [string] ]
    [ Protocol = [string[] ] { HDX | RDP }
    [ IncludeUsers = [string[]] ]
    [ ExcludeUsers = [string[]] ]
    [ Ensure = [string] { Present | Absent }]
    [ Credential = [PSCredential] ]
}

Properties

Configuration

Configuration XD7AccessPolicyExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7AccessPolicy XD7AccessPolicyExample {
        DeliveryGroup = 'My Desktop Group'
        AccessType = 'AccessGateway'
        Enabled = $true
        AllowRestart = $true
        Protocol = 'HDX'
        IncludeUsers = @('DOMAIN\GroupA','DOMAIN\GroupB')
        Ensure = 'Present'
    }
}

XD7Administrator

Registers an administrator in Citrix XenDesktop site. Administrators needs to be registered before they can be assigned to a role.

Syntax

XD7Administrator [string]
{
    Name = [string]
    Enabled = [bool]
    [ Ensure = [string] { Present | Absent } ]
    [ Credential = [PSCredential] ]
}

Properties

Configuration

Configuration XD7AdministratorExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7Administrator XD7AdministratorExample {
        Name = 'Domain Admins'
        Enabled = $true
        Ensure = 'Present'
    }
}

XD7Catalog

Creates a Citrix XenDesktop machine catalog.

Syntax

XD7Catalog [string]
{
    Name = [string]
    Allocation = [string] { Permanent | Random | Static }
    Provisioning = [string] { Manual | PVS | MCS }
    Persistence = [string] { Discard | Local | PVD }
    [ Description = [string] ]
    [ IsMultiSession = [bool] ]
    [ PvsAddress = [string] ]
    [ PvsDomain = [string] ]
    [ MinimumFunctionalLevel = [string] ]
    [ Ensure = [string] { Present | Absent } ]
    [ Credential = [PSCredential] ]
}

Properties

Configuration

Configuration XD7CatalogExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7Catalog XD7CatalogExample {
        Name = 'My Machine Catalog'
        Description = 'Random manual Citrix XenApp 7.6 machine catalog'
        Allocation = 'Random'
        Provisioning = 'Manual'
        Persistence = 'Local'
        IsMultisession = $true
    }
}

XD7CatalogMachine

Adds/assigns an Active Directory machine to a Citrix XenDesktop 7 machine catalog.

Syntax

XD7CatalogMachine [string]
{
    Name = [string]
    Members = [string[]] ]
    [ Ensure = [string] { Present | Absent } ]
    [ Credential = [PSCredential] ]
}

Properties

Configuration

Configuration XD7CatalogMachineExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7CatalogMachine XD7CatalogMachineExample {
        Name = 'My Machine Catalog'
        Members = 'Domain\ComputerA','ComputerB'
        Ensure = 'Present'
    }
}

XD7Controller

Adds or removes a Citrix XenDesktop 7 controller to or from a Citrix XenDesktop site.

Syntax

XD7Controller [string]
{
    SiteName = [string]
    ExistingControllerName = [string]
    [ Ensure = [string] { Present | Absent } ]
    [ Credential = [PSCredential] ]
}

Properties

Configuration

Configuration XD7Controller {
    Import-DscResource -ModuleName XenDesktop7
    XD7Controller MyXD7Controller {
        SiteName = 'My Site'
        ExistingControllerName = 'controller-a.lab.local'
        Ensure = 'Present'
    }
}

XD7Database

Creates a Citrix XenDesktop 7 site, logging or monitor database. This resource does not support removing or relocation of site databases.

Syntax

XD7Database [string]
{
    SiteName = [string]
    DatabaseName = [string]
    DatabaseServer = [string]
    DataStore = [string] { Site | Logging | Monitor }
    [ Credential = [PSCredential] ]
}

Properties

Configuration

Configuration XD7Database {
    Import-DscResource -ModuleName XenDesktop7
    XD7Database MyXD7LoggingDatabase {
        SiteName = 'My Site'
        DatabaseName = 'MySiteLoggingDatabase'
        DatabaseServer = 'mysqlserver.lab.local'
        DataStore = 'Logging'
    }
}

XD7DesktopGroup

Creates a Citrix XenDesktop 7 desktop group.

Syntax

XD7DesktopGroup [string]
{
    Name = [string]
    IsMultiSession = [bool]
    DeliveryType = [string] { AppsOnly | DesktopsOnly | DesktopsAndApps }
    DesktopType = [string] { Shared | Private }
    [ Description = [string]
    [ DisplayName = [string] ]
    [ Enabled = [bool] ]
    [ ColorDepth = [string] { FourBit | EightBit | SixteenBit | TwentyFourBit } ]
    [ IsMaintenanceMode = [bool] ]
    [ IsRemotePC = [bool] ]
    [ IsSecureIca = [bool] ]
    [ ShutdownDesktopsAfterUse = [bool] ]
    [ TurnOnAddedMachine = [bool] ]
    [ Ensure = [string] { Present | Absent } ]
    [ Credential = [PSCredential] ]
}

Properties

Configuration

Configuration XD7DesktopGroupExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7DesktopGroup MyXD7DesktopGroup {
        SiteName = 'My Desktop Group'
        IsMultiSession = $true
        DeliveryType = 'DesktopsAndApps'
        DesktopType = 'Shared'
    }
}

XD7DesktopGroupMember

Adds or removes Active Directory computer accounts to or from a Citrix XenDesktop 7 desktop group.

Syntax

XD7DesktopGroupMember [string]
{
    Name = [string]
    Members = [string[]] ]
    [ Ensure = [string] { Present | Absent } ]
    [ Credential = [PSCredential] ]
}

Properties

Configuration

Configuration XD7DesktopGroupMemberExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7DesktopGroupMember MyXD7DesktopGroupMembers {
        Name = 'My Desktop Group'
        Members = 'computer1.lab.local','computer2.lab.local'
        Ensure = 'Present'
    }
}

XD7DesktopGroupApplication

Adds or removes published applications to or from a Citrix XenDesktop 7 desktop/delivery group.

Syntax

XD7DesktopGroupApplication [string]
{
    Name = [string]
    DesktopGroupName = [string]
    Path = [string]
    [ ApplicationType = [string] { HostedOnDesktop, InstalledOnClient } ]
    [ WorkingDirectory = [string] ]
    [ Arguments = [string] ]
    [ Description = [string] ]
    [ DisplayName = [string] ]
    [ Enabled = [bool] ]
    [ Visible = [bool] ]
    [ Ensure = [string] ] { Present | Absent } ]
    [ Credential = [PSCredential] ]
}

Properties

Configuration

Configuration XD7DesktopGroupApplicationExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7DesktopGroupApplication XD7DesktopGroupApplicationExample {
        Name = 'Adobe Reader DC'
        DesktopGroupName = 'My Desktop Group'
        Path = 'C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe'
        WorkingDirectory = 'C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader'
        Ensure = 'Present'
    }
}

XD7EntitlementPolicy

Grants Active Directory users/groups access to a Citrix XenDesktop 7 desktop group.

Syntax

XD7EntitlementPolicy [string]
{
    DeliveryGroup = [string]
    EntitlementType = [string] EntitlementType { Desktop | Application }
    [ Enabled = [bool] ]
    [ Name = [string] ]
    [ Description = [string] ]
    [ IncludeUsers = [string[]] ]
    [ ExcludeUsers = [string[]] ]
    [ Ensure = [string] { Present | Absent } ]
    [ Credential = [PSCredential] ]
}

Properties

Configuration

Configuration XD7EntitlementPolicyExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7EntitlementPolicy XD7DesktopEntitlementPolicy {
        Name = 'My Desktop Group'
        EntitlementType = 'Desktop'
        IncludeUsers = 'MyDesktopGroupUsers','UserA'
    }
}

XD7Feature

Installs Citrix XenDesktop 7 server role/feature.

Syntax

XD7Feature [string]
{
    Role = [string] { Controller | Licensing | Storefront | Studio | Director }
    SourcePath = [string]
    [Ensure = [string] { Present | Absent } ]
    [ Credential = [PSCredential] ]
}

Properties

Configuration

Configuration XD7FeatureExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7Feature XD7ControllerFeature {
        Role = 'Controller'
        SourcePath = 'C:\Sources\XenDesktop76'
        Ensure = 'Present'
    }
}

XD7Features

Installs multiple Citrix XenDesktop 7 server roles/features in a single pass, reducing the number of reboots.

Syntax

XD7Features [string]
{
    IsSingleInstance = [string] { Yes }
    Role = [string[] { Controller | Licensing | Storefront | Studio | Director }
    SourcePath = [string]
    [ Ensure = [string] { Present | Absent } ]
    [ Credential = [PSCredential] ]
}

Properties

Configuration

Configuration XD7FeaturesExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7Features XD7MultiFeatures {
        IsSingleInstance = 'Yes'
        Role = 'Controller','Studio'
        SourcePath = 'C:\Sources\XenDesktop76'
        Ensure = 'Present'
    }
}

XD7Role

Assigns a Citrix XenDesktop 7 delegated security role to an administrator. This resource does not currently support creating new Citrix XenDesktop 7 roles.

Syntax

XD7Role [string]
{
    Name = [string]
    Members = string[]
    RoleScope = [string]
    [ Ensure = [string] { Present | Absent } ]
    [ Credential = [PSCredential] ]
}

Properties

Configuration

Configuration XD7RoleExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7Role XD7RoleAssignment {
        Name = 'Full Administrator'
        Members = 'Citrix Admins'
        EntitlementType = 'Desktop'
        IncludeUsers = 'MyDesktopGroupUsers','UserA'
    }
}

XD7Site

Creates a new Citrix XenDesktop 7 site.

Syntax

XD7Site [string]
{
    SiteName = [string]
    DatabaseServer = [string]
    SiteDatabaseName = [string]
    LoggingDatabaseName = [string]
    MonitorDatabaseName = [string]
    [ Credential = [PSCredential] ]
}

Properties

Configuration

Configuration XD7SiteExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7Site XD7SiteCreation {
        SiteName = 'My Site'
        DatabaseServer = 'mysqlserver.lab.local'
        SiteDatabaseName = 'MySiteDatabase'
        LoggingDatabaseName = 'MyLoggingDatabase'
        MonitorDatabaseName = 'MyMonitorDatabase'
    }
}

XD7SiteConfig

Configures a Citrix XenDesktop 7 global site settings.

Syntax

XD7SiteConfig [string]
{
    IsSingleInstance = [string] { Yes }
    [ TrustRequestsSentToTheXmlServicePort = [bool] ]
    [ SecureIcaRequired = [bool] ]
    [ DnsResolutionEnabled = [bool] ]
    [ ConnectionLeasingEnabled = [bool] ]
    [ BaseOU = [string] ]
    [ Credential = [PSCredential] ]
}

Properties

Configuration

Configuration XD7SiteConfigExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7SiteConfig XD7GlobalSiteSetting {
        IsSingleInstance = 'Yes'
        TrustRequestsSentToTheXmlServicePort = $true
        ConnectionLeasingEnabled = $true
    }
}

XD7SiteLicense

Configures a Citrix XenDesktop 7 licensing scheme.

Syntax

XD7SiteLicense [string]
{
    LicenseServer = [string] ]
    [ LicenseServerPort = [uint16] ]
    [ LicenseProduct [string] { XDT | MPS } ]
    [ LicenseEdition [string] { PLT | ENT | VDI } ]
    [ LicenseModel = [string] { UserDevice | Concurrent } ]
    [ TrustLicenseServerCertificate = [bool] ]
    [ Credential = [PSCredential] ]
}

Properties

Configuration

Configuration XD7SiteLicenseExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7SiteLicense XD7SiteLicensing {
        LicenseServer = 'citrixls.lab.local'
    }
}

XD7StoreFront

Creates or updates a StoreFront deployment with the required features installed and configured

Syntax

XD7StoreFront [string]
{
    SiteId = [UInt64]
    [ HostBaseUrl = [String] ]
    [ Ensure = [String] { Present | Absent } ]
}

Properties

Configuration

Configuration XD7StoreFrontExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7StoreFront XD7StoreFrontExample {
        SiteId = 1
        HostBaseUrl = 'http://localhost/'
        Ensure = 'Present'
    }
}

XD7StoreFrontAccountSelfService

Sets StoreFront account self-service options.

Syntax

XD7StoreFrontAccountSelfService [string]
{
    StoreName = [String]
    [ AllowResetPassword = [Boolean] ]
    [ AllowUnlockAccount = [Boolean] ]
    [ PasswordManagerServiceUrl = [String] ]
}

Properties

Configuration

Configuration XD7Example {
    Import-DscResource -ModuleName XenDesktop7
    XD7StoreFrontAccountSelfService XD7StoreFrontAccountSelfServiceExample {
        StoreName = 'mock'
        AllowResetPassword = $true
        AllowUnlockAccount = $true
        PasswordManagerServiceUrl = 'http://WebServer/url/'
    }

XD7StoreFrontAuthenticationMethod

Configures the available authentication providers of a Citrix StoreFront 2.x or 3.x server.

Syntax

XD7StoreFrontAuthenticationMethod [string]
{
    VirtualPath = [string]
    AuthenticationMethod = [string[] ] { Certificate | CitrixAGBasic | CitrixFederation | ExplicitForms | HttpBasic | IntegratedWindows }
    [ SiteId = [uint16] ]
    [ Ensure = [string] { Absent | Present } ]
}

Properties

Configuration

Configuration XD7StoreFrontAuthenticationMethodExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7StoreFrontAuthenticationMethod XD7StoreFrontAuthenticationMethods {
        VirtualPath = '/Citrix/Authentication'
        SiteId = 1
        AuthenticationMethod = 'WindowsIntegrated'
        Ensure = 'Present'
    }
}

XD7StoreFrontAuthenticationService

Add or Remove a new Authentication service for Store and Receiver for Web authentication

Syntax

XD7StoreFrontAuthenticationService [string]
{
    VirtualPath = [String]
    [ FriendlyName = [String] ]
    [ SiteId = [UInt64] ]
    [ Ensure = [String] { Present | Absent } ]
}

Properties

Configuration

Configuration XD7Example {
    Import-DSCResource -ModuleName XenDesktop7 {
    XD7StoreFrontAuthenticationService XD7StoreFrontAuthenticationServiceExample {
        VirtualPath = '/Citrix/mockweb'
        FriendlyName = 'mockauth'
        SiteId = 1
    }
}

XD7StoreFrontAuthenticationServiceProtocol

Enables or disables StoreFront authentication service protocol(s).

NOTE: this is a replacement for the XD7StoreFrontAuthenticationMethod resource implemented using the new StoreFront 3.x PowerShell cmdlets.

Syntax

XD7StoreFrontAuthenticationServiceProtocol [string]
{
    VirtualPath = [String]
    AuthenticationProtocol = [String[]]
    [ SiteId = [Uint64] ]
    [ Ensure = [String] { Present | Absent } ]
}

Properties

Configuration

Configuration XD7Example {
    Import-DSCResource -ModuleName XenDesktop7 {
    XD7StoreFrontAuthenticationServiceProtocol AuthenticationServiceProtocolExample {
       VirtualPath = '/Citrix/Authentication'
       AuthenticationProtocol= 'ExplicitForms','IntegratedWindows','CitrixAGBasic'
       Ensure = 'Present'
    }
}

XD7StoreFrontBaseUrl

Configures the base URL of a Citrix StoreFront 2.x or 3.x server.

Syntax

XD7StoreFrontBaseUrl [string]
{
    BaseUrl = [string]
}

Properties

Configuration

Configuration XD7StoreFrontBaseUrlExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7StoreFrontBaseUrl 'storefront_lab_local' {
        BaseUrl = 'https://storefront.lab.local/'
    }
}

XD7StoreFrontExplicitCommonOptions

Set the ExplicitCommon Authentication service protocol options.

Syntax

XD7StoreFrontExplicitCommonOptions [string]
{
    StoreName = [String]
    [ Domains = [String[]] ]
    [ DefaultDomain = [String] ]
    [ HideDomainField = [Boolean] ]
    [ AllowUserPasswordChange = [String] { Always | ExpiredOnly | Never } ]
    [ ShowPasswordExpiryWarning = [String] { Custom | Never | Windows } ]
    [ PasswordExpiryWarningPeriod = [Uint32] ]
    [ AllowZeroLengthPassword = [Boolean] ]
}

Properties

Configuration

Configuration XD7StoreFrontExplicitCommonOptionsExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7StoreFrontExplicitCommonOptions XD7StoreFrontExplicitCommonOptionsExample {
        StoreName = 'mock'
        Domains = 'ipdev'
        DefaultDomain = 'ipdev'
        AllowUserPasswordChange = 'Always'
    }
}

XD7StoreFrontFarmConfiguration

Sets the StoreFront farm configuration settings.

Syntax

XD7StoreFrontFarmConfiguration [string]
{
    StoreName = [String]
    [ EnableFileTypeAssociation = [Boolean] ]
    [ CommunicationTimeout = [String] ]
    [ ConnectionTimeout = [String] ]
    [ LeasingStatusExpiryFailed = [String] ]
    [ LeasingStatusExpiryLeasing = [String] ]
    [ LeasingStatusExpiryPending = [String] ]
    [ PooledSockets = [Boolean] ]
    [ ServerCommunicationAttempts = [UInt32] ]
    [ BackgroundHealthCheckPollingPeriod = [String] ]
    [ AdvancedHealthCheck = [Boolean] ]
}

Properties

Configuration

Configuration XD7Example {
    Import-DscResource -ModuleName XenDesktop7
    XD7StoreFrontFarmConfiguration XD7StoreFrontFarmConfigurationExample {
        StoreName = 'mock'
        PooledSockets = $true
    }
}

XD7StoreFrontFilterKeyword

Sets up enumeration filtering basing on resource keywords.

Syntax

XD7StoreFrontFilterKeyword [string]
{
    StoreName = [String]
    [ IncludeKeywords = [String[]] ]
    [ ExcludeKeywords = [String[]] ]
}

Properties

Configuration

Configuration XD7Example {
    Import-DscResource -ModuleName XenDesktop7
    XD7StoreFrontFilterKeyword XD7StoreFrontFilterKeywordExample {
        StoreName = 'mock'
        IncludeKeywords = @('mock','support')
    }
}

XD7StoreFrontOptimalGateway

Set the farms and the optimal gateway to use for launch.

Syntax

XD7StoreFrontOptimalGateway [string]
{
    GatewayName = [String]
    ResourcesVirtualPath = [String]
    Hostnames = [String[]]
    StaUrls = [String[]]
    [ Farms = [String[]] ]
    [ SiteId = [UInt64] ]
    [ StasUseLoadBalancing = [Boolean] ]
    [ StasBypassDuration = [String] ]
    [ EnableSessionReliability = [Boolean] ]
    [ UseTwoTickets = [Boolean] ]
    [ Zones = [String[]] ]
    [ EnabledOnDirectAccess = [Boolean] ]
    [ Ensure = [String] { Present | Absent } ]
}

Properties

Configuration

Configuration XD7Example {
    Import-DscResource -ModuleName XenDesktop7
    XD7StoreFrontOptimalGateway XD7StoreFrontOptimalGatewayExample {
        ResourcesVirtualPath = '/Citrix/mock'
        GatewayName = 'ag.netscaler.com'
        Hostnames = @('ag.netscaler.com:443','ag2.netscaler.com:443')
        StaUrls = @('http://test/Scripts/CtxSTA.dll','http://test2/Scripts/CtxSTA.dll')
        StasBypassDuration = '02:00:00'
        Ensure = 'Present'
    }
}

XD7StoreFrontPNA

Enables or disables PNA (XenApp Services) for a Store.

Syntax

XD7StoreFrontPNA [string]
{
    StoreName = [String]
    [ DefaultPnaService = [Boolean] ]
    [ Ensure = [String] { Absent | Present } ]
}

Properties

Configuration

Configuration XD7StoreFrontUnifiedExperienceExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7StoreFrontPNA XD7StoreFrontPNAExample {
       StoreName = 'mock'
       DefaultPnaService = $true
    }
}

XD7StoreFrontReceiverAuthenticationMethod

Configures the available authentication providers of a Citrix StoreFront 2.x or 3.x server.

Syntax

XD7StoreFrontReceiverAuthenticationMethod [string]
{
    VirtualPath = [string]
    AuthenticationMethod = [string[]] { Certificate | CitrixAGBasic | CitrixFederation | ExplicitForms | HttpBasic | IntegratedWindows }
    [ SiteId = [uint16] ]
}

Properties

Configuration

Configuration XD7StoreFrontReceiverAuthenticationMethodExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7StoreFrontReceiverAuthenticationMethod XD7StoreFrontReceiverAuthenticationMethods {
        VirtualPath = '/Citrix/StoreWeb'
        SiteId = 1
        AuthenticationMethod = 'ExplicitForms','WindowsIntegrated'
    }
}

XD7StoreFrontRegisterStoreGateway

Register an authentication Gateway with a Store.

Syntax

XD7StoreFrontRegisterStoreGateway [string]
{
    StoreName = [String]
    GatewayName = [String[]]
    AuthenticationProtocol[] = [String] { CitrixAGBasic | CitrixAGBasicNoPassword | HttpBasic | Certificate | CitrixFederation | IntegratedWindows | Forms-Saml | ExplicitForms}
    EnableRemoteAccess = [Boolean]
    [ Ensure = [String] { Present | Absent } ]
}

Properties

Configuration

Configuration XD7Example {
    Import-DscResource -ModuleName XenDesktop7
    XD7StoreFrontRegisterStoreGateway XD7StoreFrontRegisterStoreGatewayExample {
        GatewayName = 'Netscaler'
        StoreName = 'mock'
        AuthenticationProtocol = @('ExplicitForms','CitrixFederation','CitrixAGBasicNoPassword')
        EnableRemoteAccess = $True
        Ensure = 'Present'
    }
}

XD7StoreFrontRoamingBeacon

Set the internal and external beacons

Syntax

XD7StoreFrontRoamingBeacon [string]
{
    SiteId = [UInt64]
    [ InternalUri = [String] ]
    [ ExternalUri = [String[]] ]
}

Properties

Configuration

Configuration XD7Example {
    Import-DSCResource -ModuleName XenDesktop7 {
    XD7StoreFrontRoamingBeacon XD7StoreFrontRoamingBeaconExample {
       SiteId = 1
       InternalURI = 'http://localhost/'
       ExternalURI = 'http://web.client1.com','http://web.client2.com'
    }
}

XD7StoreFrontRoamingGateway

Add or update a Gateway that can be used for remote access and authentication.

Syntax

XD7StoreFrontRoamingGateway [string]
{
    Name = [String]
    LogonType = [String] { UsedForHDXOnly | Domain | RSA | DomainAndRSA | SMS | GatewayKnows | SmartCard | None }
    GatewayUrl = [String]
    [ SmartCardFallbackLogonType = [String] ]
    [ Version = [String] ]
    [ CallbackUrl = [String] ]
    [ SessionReliability = [Boolean] ]
    [ RequestTicketTwoSTAs = [Boolean] ]
    [ SubnetIPAddress = [String] ]
    [ SecureTicketAuthorityUrls = [String[]] ]
    [ StasUseLoadBalancing = [Boolean] ]
    [ StasBypassDuration = [String] ]
    [ GslbUrl = [String] ]
    [ Ensure = [String] { Present | Absent } ]
}

Properties

Configuration

Configuration XD7StoreFrontRoamingGatewayExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7StoreFrontRoamingGateway XD7StoreFrontRoamingGatewayExample {
        Name = 'Netscaler'
        LogonType = 'Domain'
        GatewayUrl = 'https://accessgateway/netscaler'
        Version = 'Version10_0_69_4'
        SecureTicketAuthorityUrls = 'https://staurl/scripts/ctxsta.dll'
        SessionReliability = $true
        Ensure = 'Present'
    }
}

XD7StoreFrontSessionStateTimeout

Sets the sessionState time interval for a Web Receiver site

Syntax

XD7StoreFrontSessionStateTimeout [string]
{
    StoreName = [String]
    [ IntervalInMinutes = [UInt32] ]
    [ CommunicationAttempts = [UInt32] ]
    [ CommunicationTimeout = [UInt32] ]
    [ LoginFormTimeout = [UInt32] ]
}

Properties

Configuration

Configuration XD7Example {
    Import-DscResource -ModuleName XenDesktop7
    XD7StoreFrontSessionStateTimeout XD7StoreFrontSessionStateTimeoutExample {
        StoreName = 'mock'
        IntervalInMinutes = 20
    }
}

XD7StoreFrontStore

Creates or sets a StoreFront store and all it's properties.

Syntax

VE_XD7StoreFrontStore [string]
{
    StoreName = [String]
    AuthType = [String] { Explicit | Anonymous }
    [ AuthVirtualPath = [String] ]
    [ StoreVirtualPath = [String] ]
    [ SiteId = [UInt64] ]
    [ LockedDown = [Boolean] ]
    [ Ensure = [String] { Present | Absent } ]
}

Properties

Configuration

Configuration XD7Example {
    Import-DscResource -ModuleName XenDesktop7
    VE_XD7StoreFrontStore VE_XD7StoreFrontStoreExample {
        StoreName = 'Store'
        AuthType = 'Explicit'
        StoreVirtualPath = '/Citrix/Store'
        AuthVirtualPath = '/Citrix/Authentication'
        Ensure = 'Present'
    }
}

XD7StoreFrontStoreFarm

Set the details of a StoreFront farm or create a StoreFront farm

Syntax

XD7StoreFrontStoreFarm [string]
{
    StoreName = [String]
    FarmName = [String]
    [ FarmType = [String] { XenApp | XenDesktop | AppController | VDIinaBox | Store } ]
    [ Servers = [String[]] ]
    [ ServiceUrls = [String[]] ]
    [ Port = [UInt32] ]
    [ TransportType = [String] { HTTP | HTTPS | SSL } ]
    [ SSLRelayPort = [UInt32] ]
    [ LoadBalance = [Boolean] ]
    [ AllFailedBypassDuration = [UInt32] ]
    [ BypassDuration = [UInt32] ]
    [ TicketTimeToLive = [UInt32] ]
    [ RadeTicketTimeToLive = [UInt32] ]
    [ MaxFailedServersPerRequest = [UInt32] ]
    [ Zones = [String[]] ]
    [ Product = [String] ]
    [ RestrictPoPs = [String] ]
    [ FarmGuid = [String] ]
    [ Ensure = [string] { Present | Absent }]
}

Properties

Configuration

Configuration XD7Example {
    Import-DSCResource -ModuleName XenDesktop7 {
    XD7StoreFrontStoreFarm XD7StoreFrontStoreFarmExample {
       StoreName = 'mock'
       FarmName = 'farm2'
       Servers = 'Server10','Server11'
       FarmType = 'XenApp'
       TransportType = 'HTTPS'
    }
}

XD7StoreFrontUnifiedExperience

Configures the Citrix Storefront Unified Experience of a Citrix Storefront 3.x server.

Syntax

XD7StoreFrontUnifiedExperience [string]
{
    VirtualPath = [string]
    WebReceiverVirtualPath = [string]
    [ SiteId = [uint16] ]
    [ Ensure = [string] { Absent | Present } ]
}

Properties

Configuration

Configuration XD7StoreFrontUnifiedExperienceExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7StoreFrontUnifiedExperience EnableStoreFrontUnifiedExperience {
        VirtualPath = '/Citrix/Store'
        WebReceiverVirtualPath = '/Citrix/StoreWeb'
        SiteId = 1
        Ensure = 'Present'
    }
}

XD7StoreFrontWebReceiverCommunication

Set the WebReceiver communication settings

Syntax

XD7StoreFrontWebReceiverCommunication [string]
{
    StoreName = [String]
    [ Attempts = [UInt32] ]
    [ Timeout = [String] ]
    [ Loopback = [String] { On | Off | OnUsingHttp } ]
    [ LoopbackPortUsingHttp = [UInt32] ]
    [ ProxyEnabled = [Boolean] ]
    [ ProxyPort = [UInt32] ]
    [ ProxyProcessName = [String] ]
}

Properties

Configuration

Configuration XD7Example {
    Import-DscResource -ModuleName XenDesktop7
    XD7StoreFrontWebReceiverCommunication XD7StoreFrontWebReceiverCommunicationExample {
        StoreName = 'mock'
        Loopback = 'OnUsingHttp'
    }
}

XD7StoreFrontWebReceiverPluginAssistant

Set the WebReceiver Plug-in Assistant options.

Syntax

XD7StoreFrontWebReceiverPluginAssistant [string]
{
    StoreName = [String]
    [ Enabled = [Boolean] ]
    [ UpgradeAtLogin = [Boolean] ]
    [ ShowAfterLogin = [Boolean] ]
    [ Win32Path = [String] ]
    [ MacOSPath = [String] ]
    [ MacOSMinimumSupportedVersion = [String] ]
    [ Html5Enabled = [String] { Always | Fallback | Off } ]
    [ Html5Platforms = [String] ]
    [ Html5Preferences = [String] ]
    [ Html5SingleTabLaunch = [Boolean] ]
    [ Html5ChromeAppOrigins = [String] ]
    [ Html5ChromeAppPreferences = [String] ]
    [ ProtocolHandlerEnabled = [Boolean] ]
    [ ProtocolHandlerPlatforms = [String] ]
    [ ProtocolHandlerSkipDoubleHopCheckWhenDisabled = [Boolean] ]
}

Properties

Configuration

Configuration XD7Example {
    Import-DscResource -ModuleName XenDesktop7
    XD7StoreFrontWebReceiverPluginAssistant XD7StoreFrontWebReceiverPluginAssistantExample {
        StoreName = 'mock'
        Enabled = $false
    }
}

XD7StoreFrontWebReceiverResourcesService

Set the WebReceiver Resources Service settings

Syntax

XD7StoreFrontWebReceiverResourcesService [string]
{
    StoreName = [String]
    [ PersistentIconCacheEnabled = [Boolean] ]
    [ IcaFileCacheExpiry = [UInt32] ]
    [ IconSize = [UInt32] ]
    [ ShowDesktopViewer = [Boolean] ]
}

Properties

Configuration

Configuration XD7Example {
    Import-DSCResource -ModuleName XenDesktop7 {
    XD7StoreFrontWebReceiverResourcesService XD7StoreFrontWebReceiverResourcesServiceExample {
        StoreName = 'mock'
        ShowDesktopViewer = $false
    }
}

XD7StoreFrontWebReceiverService

Configure Receiver for Web service options

Syntax

XD7StoreFrontWebReceiverService [string]
{
    StoreName = [String]
    VirtualPath = [String]
    SiteId = [UInt64]
    [ ClassicReceiverExperience = [Boolean] ]
    [ SessionStateTimeout = [UInt32] ]
    [ DefaultIISSite = [Boolean] ]
    [ FriendlyName = [String] ]
    [ Ensure = [String] { Present | Absent } ]
}

Properties

Configuration

Configuration XD7Example {
    Import-DscResource -ModuleName XenDesktop7
    XD7StoreFrontWebReceiverService XD7StoreFrontWebReceiverServiceExample {
        StoreName = 'mock'
        VirtualPath = '/Citrix/mockweb'
        ClassicReceiverExperience = $false
        Ensure = 'Present'
    }
}

XD7StoreFrontWebReceiverSiteStyle

Sets the Style info in the custom style sheet

Syntax

XD7StoreFrontWebReceiverSiteStyle [string]
{
    StoreName = [String]
    [ HeaderLogoPath = [String] ]
    [ LogonLogoPath = [String] ]
    [ HeaderBackgroundColor = [String] ]
    [ HeaderForegroundColor = [String] ]
    [ LinkColor = [String] ]
}

Properties

Configuration

Configuration XD7Example {
    Import-DSCResource -ModuleName XenDesktop7 {
    XD7StoreFrontWebReceiverSiteStyle XD7StoreFrontWebReceiverSiteStyleExample {
       StoreName = 'mock'
       LinkColor = '#02a1c1'
       HeaderBackgroundColor = '#0574f5b'
       HeaderForegroundColor = '#fff'
       HeaderLogoPath = 'C:\inetpub\wwwroot\Citrix\mockweb\custom\CustomHeader.png'
       LogonLogoPath = 'C:\inetpub\wwwroot\Citrix\mockweb\custom\CustomLogon.png'
    }
}

XD7StoreFrontWebReceiverUserInterface

Set the WebReceiver User Interface options.

Syntax

XD7StoreFrontWebReceiverUserInterface [string]
{
    StoreName = [String]
    [ AutoLaunchDesktop = [Boolean] ]
    [ MultiClickTimeout = [UInt32] ]
    [ EnableAppsFolderView = [Boolean] ]
    [ ShowAppsView = [Boolean] ]
    [ ShowDesktopsView = [Boolean] ]
    [ DefaultView = [String] { Apps | Auto | Desktops } ]
    [ WorkspaceControlEnabled = [Boolean] ]
    [ WorkspaceControlAutoReconnectAtLogon = [Boolean] ]
    [ WorkspaceControlLogoffAction = [String] { Disconnect | None | Terminate } ]
    [ WorkspaceControlShowReconnectButton = [Boolean] ]
    [ WorkspaceControlShowDisconnectButton = [Boolean] ]
    [ ReceiverConfigurationEnabled = [Boolean] ]
    [ AppShortcutsEnabled = [Boolean] ]
    [ AppShortcutsAllowSessionReconnect = [Boolean] ]
}

Properties

Configuration

Configuration XD7Example {
    Import-DscResource -ModuleName XenDesktop7
    XD7StoreFrontWebReceiverUserInterface XD7StoreFrontWebReceiverUserInterfaceExample {
        StoreName = 'mock'
        WorkspaceControlLogoffAction = 'Disconnect'
        WorkspaceControlEnabled = $True
        WorkspaceControlAutoReconnectAtLogon = $True
        AutoLaunchDesktop = $True
        ShowDesktopsView = $False
        ReceiverConfigurationEnabled = $False
        MultiClickTimeout = 3
        DefaultView = 'Apps'
    }
}

XD7VDAController

Assigns a Citrix XenDesktop Controller to a Citrix Virtual Delivery Agent (VDA).

Syntax

XD7VDAController [string]
{
    Name = [string]
    [ Ensure = [string] { Present | Absent } ]
}

Properties

Configuration

Configuration XD7VDAControllerExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7VDAController XD7VDAController1 {
        Name = 'controller1.lab.local'
    }
    XD7VDAController XD7VDAController2 {
        Name = 'controller2.lab.local'
    }
}

XD7VDAFeature

Installs Citrix XenDesktop 7 Virtual Delivery Agent (VDA) feature.

Syntax

XD7VDAFeature [string]
{
    Role = [string] { DesktopVDA | SessionVDA }
    SourcePath = [string]
    [ InstallReceiver = [bool] ]
    [ EnableRemoteAssistance = [bool] ]
    [ Optimize = [bool] ]
    [ InstallDesktopExperience = [bool] ]
    [ EnableRealTimeTransport = [bool] ]
    [ ExcludeTelemetryService = [bool] ]
    [ Ensure = [string] { Present | Absent } ]
}

Properties

Configuration

Configuration XD7VDAFeatureExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7VDAFeature XD7DeskopVDAFeature {
        Role = 'DesktopVDA'
        SourcePath = 'C:\Sources\XenDesktop76'
        InstallReceiver = $true
        Optimize = $true
    }
}

XD7WaitForSite

Waits for a Citrix XenDesktop 7 site to become available.

Syntax

XD7WaitForSite [string]
{
    SiteName = [string]
    ExistingControllerName = [string]
    [ RetryIntervalSec = [uint64] ]
    [ RetryCount = [uint32] ]
    [ Credential = [PSCredential] ]
}

Properties

Configuration

Configuration XD7WaitForSiteExample {
    Import-DscResource -ModuleName XenDesktop7
    XD7WaitForSite XD7WaitForMySite {
        SiteName = 'My Site'
        ExistingControllerName = 'controller1.lab.local'
    }
}