Product Documentation

StoreFront SDK

Oct 31, 2016

Citrix StoreFront fournit un kit de développement logiciel (SDK) basé sur un certain nombre de modules Microsoft Windows PowerShell version 3.0. Avec le kit de développement, vous pouvez effectuer les mêmes tâches qu'avec la console MMC StoreFront, ainsi que les tâches que vous ne pouvez pas effectuer avec la console uniquement.

Différences clés entre le kit de développement StoreFront 3.0 et celui de la version actuelle de StoreFront

  • Exemples de SDK haut niveau : cette version propose des scripts SDK de haut niveau qui vous permettent de créer un script et d'automatiser les déploiements StoreFront rapidement et facilement. Vous pouvez personnaliser les exemples de haut niveau selon vos besoins spécifiques, ce qui vous permet de créer un nouveau déploiement simplement par l'exécution d'un script.
  • Nouveau SDK de bas niveau : un SDK de bas niveau documenté permettant la configuration de déploiements, notamment des magasins, des méthodes d'authentification, des sites Citrix Receiver pour Web et Citrix Receiver unifié ainsi que l'accès distant avec NetScaler Gateway.
  • Rétrocompatibilité : StoreFront 3.1 contient toujours les API de StoreFront 3.6 et versions antérieures, donc les scripts existants peuvent être progressivement transférés vers le nouveau kit de développement.

Important

La rétrocompatibilité avec StoreFront 3,0 a été maintenue dans la mesure du possible. Toutefois, lors de l'écriture de scripts, Citrix recommande d'utiliser les nouveaux modules Citrix.StoreFront.*, car le kit de développement logiciel (SDK) StoreFront 3.0 est obsolète et sera supprimé. 

Utilisez le Kit de développement logiciel (SDK)

Le kit de développement logiciel comprend un certain nombre de composants logiciels enfichables PowerShell installés automatiquement par l'assistant d'installation lorsque vous installez différents composants StoreFront.

Pour accéder aux applets de commande et les exécuter :

  1. Démarrez un shell dans PowerShell 3.0.

    Vous devez exécuter le Shell ou le script en tant que membre du groupe d'administrateurs locaux sur le serveur StoreFront.

  2. Pour utiliser les applets de commande du kit de développement dans des scripts, définissez la stratégie d'exécution dans PowerShell.

    Pour plus d'informations sur la stratégie d'exécution PowerShell, veuillez consulter votre documentation Microsoft.

  3. Ajoutez les modules dont vous avez besoin à l'environnement PowerShell en utilisant la commande Add -Module dans la console Windows PowerShell. Par exemple, entrez :
    Import-Module Citrix.StoreFront

    Pour importer tous les applets de commande, tapez :

    Get-Module -ListAvailable | Where-Object { $_.Name.StartsWith("Citrix.StoreFront") } | Import-Module

Après importation, vous avez accès aux applets de commande et à l'aide associée.

Pour un exemple de cas d'utilisation typique, consultez la section Démarrage avec SDK.

Conseil : pour une liste complète des textes d'aide des applets de commande, veuillez consulter la section https://www.citrix.com/downloads/storefront-web-interface/betas-and-tech-previews/.

Démarrage avec SDK

Pour créer un script, réalisez les étapes suivantes :

  1. Utilisez un des exemples SDK fournis et installés par StoreFront dans le dossier %ProgramFiles%\Citrix\Receiver StoreFront\PowerShellSDK\Examples.
  2. Pour vous aider à personnaliser votre propre script, vérifiez le script exemple pour comprendre la fonction de chaque partie. Pour plus d'informations, consultez l'exemple de cas d'utilisation qui décrit en détail les actions du script.
  3. Convertissez et adaptez les exemples de script pour les changer en un script plus lisible. Pour ce faire :
    • Utilisez PowerShell ISE ou un outil similaire pour modifier le script.
    • Utilisez des variables pour affecter les valeurs à réutiliser ou modifier.
    • Supprimez toute commande qui n'est pas requise.
    • Notez que les applets de commande StoreFront peuvent être identifiées par le préfixe STF.
    • Utilisez l'applet de commande Get-Help en fournissant le nom de la commande et le paramètre -Full pour de plus amples informations sur la commande.

Exemples

Remarque : lors de la création d'un script, pour vous assurer que vous obtiendrez toujours les dernières améliorations et correctifs, Citrix vous recommande de suivre la procédure décrite ci-dessus, plutôt que de copier et de coller les scripts exemples.

Exemples

Description

<Exemple : Créer un déploiement simple>

Script : crée un déploiement simple avec un contrôleur StoreFront configuré avec un seul serveur XenDesktop.

<Exemple : Créer un déploiement avec accès à distance>

Script : basé sur le script précédent, ajoute l'accès à distance au déploiement.

<Exemple : Créer un déploiement avec accès à distance et passerelle de lancement optimale>

Script : basé sur le script précédent, ajoute des passerelles de lancement optimales pour une meilleure expérience utilisateur.

<Exemple : Créer un déploiement avec un site Desktop Appliance>

Script : crée un déploiement simple configuré avec un site Desktop Appliance.

Exemple : Créer un déploiement simple

L'exemple suivant illustre comment créer un déploiement simple configuré avec un Controller XenDesktop.

Avant de commencer, suivez les étapes détaillées dans Démarrage avec SDK. Cet exemple peut être personnalisé à l'aide des méthodes décrites pour produire un script qui automatise le déploiement StoreFront.

Remarque : pour vous assurer que vous obtiendrez toujours les dernières améliorations et correctifs, Citrix vous recommande de suivre la procédure décrite dans ce document, plutôt que de copier et de coller le script exemple. 

Compréhension du script

Cette section décrit la fonction de chaque partie du script généré par StoreFront. Ceci vous aidera à la personnalisation de votre propre script.

  • Définit la gestion des erreurs et importe les modules StoreFront requis. Les importations ne sont pas nécessaires dans des versions plus récentes de PowerShell.

Param(

    [Parameter(Mandatory=$true)]

    [Uri]$HostbaseUrl,

    [long]$SiteId = 1,

    [ValidateSet("XenDesktop","XenApp","AppController","VDIinaBox")]

    [string]$Farmtype = "XenDesktop",

    [Parameter(Mandatory=$true)]

    [string[]]$FarmServers,

    [string]$StoreVirtualPath = "/Citrix/Store",

    [bool]$LoadbalanceServers = $false,

    [int]$Port = 80,

    [int]$SSLRelayPort = 443,

    [ValidateSet("HTTP","HTTPS","SSL")]

    [string]$TransportType = "HTTP"

)

# Importer modules StoreFront. Requis pour les versions antérieures à la version 3.0 de PowerShell qui ne prennent pas en charge le chargement automatique

Import-Module Citrix.StoreFront

Import-Module Citrix.StoreFront.Stores

Import-Module Citrix.StoreFront.Authentication

Import-Module Citrix.StoreFront.WebReceiver

  • Automatise le chemin d'accès virtuel de l'authentification et des services Citrix Receiver pour Web basé sur le paramètre $StoreVirtualPath fourni.

# Détermine le chemin d'accès virtuel d'authentification et de Receiver à utiliser en fonction du magasin

$authenticationVirtualPath = "$($StoreIISPath.TrimEnd('/'))Auth"

$receiverVirtualPath = "$($StoreVirtualPath.TrimEnd('/'))Web"

  • Crée un nouveau déploiement, si ce n’est pas déjà fait, pour préparer l'ajout des services StoreFront requis. -Confirm:$false supprime le besoin de confirmer que le déploiement peut se poursuivre.

# Déterminer si le déploiement existe déjà

$existingDeployment = Get-STFDeployment

if(-not $existingDeployment)

{

    # Installer les composants StoreFront requis

    Add-STFDeployment -HostBaseUrl $HostbaseUrl -SiteId $SiteId -Confirm:$false

}

elseif($existingDeployment.HostbaseUrl -eq $HostbaseUrl)

{

    # Le déploiement existe, mais il est configuré avec l'adresse URL de base de l'hôte souhaitée

    Write-Output "Un déploiement a déjà été créé avec l'URL de base de l'hôte spécifiée sur ce serveur et sera utilisé."

}

else

{

    Write-Error "Un déploiement a déjà été créé sur ce serveur avec une URL de base d’hôte différente."

}

  • Crée un nouveau service d'authentification s'il n'en n’existe aucun dans le chemin d'accès virtuel spécifié. La méthode d'authentification par défaut, nom d'utilisateur et mot de passe, est activée.

# Déterminer si le service d'authentification existe dans le chemin d'accès virtuel spécifié

$authentication = Get-STFAuthenticationService -VirtualPath $authenticationVirtualPath

if(-not $authentication)

{

    # Ajouter un service d'authentification avec le chemin d'accès IIS du magasin ajouté à l'authentification

    $authentication = Add-STFAuthenticationService $authenticationVirtualPath

}

else

{

    Write-Output "Un service d'authentification existe déjà dans le chemin d'accès virtuel spécifié, il sera donc utilisé."

}

  • Crée un nouveau service d'authentification s'il n'en n’existe aucun dans le chemin d'accès virtuel spécifié. La méthode d'authentification par défaut, nom d'utilisateur et mot de passe, est activée. 

# Déterminer si le service d'authentification existe dans le chemin d'accès virtuel spécifié

$authentication = Get-STFAuthenticationService -VirtualPath $authenticationVirtualPath

if(-not $authentication)

{

    # Ajouter un service d'authentification avec le chemin d'accès IIS du magasin ajouté à l'authentification

    $authentication = Add-STFAuthenticationService $authenticationVirtualPath

}

else

{

    Write-Output "Un service d'authentification existe déjà dans le chemin d'accès virtuel spécifié, il sera donc utilisé."

}

  • Crée le nouveau service de magasin configuré avec un Controller XenDesktop avec les serveurs définis dans le tableau $XenDesktopServers dans le chemin d'accès virtuel spécifié s’il n’en n’existe aucun.

# Déterminer si le service de magasin existe dans le chemin d'accès virtuel spécifié

$store = Get-STFStoreService -VirtualPath $StoreVirtualPath

if(-not $store)

{

# Ajouter un magasin qui utilise le nouveau service d'authentification configuré pour publier des ressources depuis les serveurs fournis

$store = Add-STFStoreService -VirtualPath $StoreVirtualPath -AuthenticationService $authentication -FarmName $Farmtype -FarmType $Farmtype -Servers $FarmServers -LoadBalance $LoadbalanceServers `

        -Port $Port -SSLRelayPort $SSLRelayPort -TransportType $TransportType

}

else

{

    Write-Output "Un service de magasin existe déjà dans le chemin d'accès virtuel spécifié, il sera donc utilisé. Les batteries et les serveurs seront ajoutés à ce magasin."

    # Obtenir le nombre de batteries configurées dans le magasin

    $farmCount = (Get-STFStoreFarmConfiguration $store).Farms.Count

    # Ajouter la batterie au magasin avec un nom unique

    Add-STFStoreFarm -StoreService $store -FarmName "Controller$($farmCount + 1)" -FarmType $Farmtype -Servers $FarmServers -LoadBalance $LoadbalanceServers -Port $Port `

        -SSLRelayPort $SSLRelayPort -TransportType $TransportType

}

  • Ajoute un service Citrix Receiver pour Web au chemin d'accès virtuel IIS spécifié pour accéder aux applications publiées dans le magasin créé ci-dessus.

# Déterminer si le service Receiver existe dans le chemin d'accès virtuel spécifié

$receiver = Get-STFWebReceiverService -VirtualPath $receiverVirtualPath

if(-not $receiver)

{

    # Ajouter un site Receiver pour Web afin que les utilisateurs puissent accéder aux applications et bureaux publiés dans le magasin

    $receiver = Add-STFWebReceiverService -VirtualPath $receiverVirtualPath -StoreService $store

}

else

{

    Write-Output "Un service Receiver Web existe déjà dans le chemin d'accès virtuel spécifié, il sera donc utilisé."

}

  • Active les services XenApp pour le magasin de sorte que les anciennes versions des clients de Citrix Receiver puissent se connecter aux applications publiées.

# Déterminer si le PNA est configuré pour le service de magasin

$storePnaSettings = Get-STFStorePna -StoreService $store

if(-not $storePnaSettings.PnaEnabled)

{

   ## Activer XenApp Services sur le magasin et en faire la valeur par défaut pour ce serveur

   Enable-STFStorePna -StoreService $store -AllowUserPasswordChange -DefaultPnaService

}

Exemple : Créer un déploiement avec accès à distance

L'exemple suivant est basé sur le script précédent et ajoute un déploiement avec accès à distance.

Avant de commencer, suivez les étapes détaillées dans Démarrage avec SDK. Cet exemple peut être personnalisé à l'aide des méthodes décrites pour produire un script qui automatise le déploiement StoreFront.

Remarque : pour vous assurer que vous obtiendrez toujours les dernières améliorations et correctifs, Citrix vous recommande de suivre la procédure décrite dans ce document, plutôt que de copier et de coller le script exemple. 

Compréhension du script

Cette section décrit la fonction de chaque partie du script généré par StoreFront. Ceci vous aidera à la personnalisation de votre propre script.

  • Définit la gestion des erreurs et importe les modules StoreFront requis. Les importations ne sont pas nécessaires dans des versions plus récentes de PowerShell.

Param(

    [Parameter(Mandatory=$true)]

    [Uri]$HostbaseUrl,

    [Parameter(Mandatory=$true)]

    [long]$SiteId = 1,

    [string]$Farmtype = "XenDesktop",

    [Parameter(Mandatory=$true)]

    [string[]]$FarmServers,

    [string]$StoreVirtualPath = "/Citrix/Store",

    [bool]$LoadbalanceServers = $false,

    [int]$Port = 80,

    [int]$SSLRelayPort = 443,

    [ValidateSet("HTTP","HTTPS","SSL")]

    [string]$TransportType = "HTTP",

    [Parameter(Mandatory=$true)]

    [Uri]$GatewayUrl,

    [Parameter(Mandatory=$true)]

    [Uri]$GatewayCallbackUrl,

    [Parameter(Mandatory=$true)]

    [string[]]$GatewaySTAUrls,

    [string]$GatewaySubnetIP,

    [Parameter(Mandatory=$true)]

    [string]$GatewayName

)

Set-StrictMode -Version 2.0

 

# Tout échec est un échec fatal.

$ErrorActionPreference = 'Stop'

$ReportErrorShowStackTrace = $true

$ReportErrorShowInnerException = $true

# Importer modules StoreFront. Requis pour les versions antérieures à la version 3.0 de PowerShell qui ne prennent pas en charge le chargement automatique

Import-Module Citrix.StoreFront

Import-Module Citrix.StoreFront.Stores

Import-Module Citrix.StoreFront.Roaming

  • Créez un déploiement StoreFront avec accès en interne en appelant les exemples précédents de script. Le déploiement de base sera étendu pour prendre en charge l'accès distant.

# Créer un déploiement simple en invoquant l’exemple SimpleDeployment

$scriptDirectory = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent

$scriptPath = Join-Path $scriptDirectory "SimpleDeployment.ps1"

& $scriptPath -HostbaseUrl $HostbaseUrl -SiteId $SiteId -FarmServers $FarmServers -StoreVirtualPath $StoreVirtualPath -Farmtype $Farmtype `

    -LoadbalanceServers $LoadbalanceServers -Port $Port  -SSLRelayPort $SSLRelayPort -TransportType $TransportType

  • Obtient les services créés dans le déploiement simple car ils doivent être mis à jour pour prendre en charge le scénario d'accès à distance.

# Déterminer l'authentification et les sites Receiver en fonction du magasin

$store = Get-STFStoreService -VirtualPath $StoreVirtualPath

$authentication = Get-STFAuthenticationService -StoreService $store

$receiverForWeb = Get-STFWebReceiverService -StoreService $store

  • Active CitrixAGBasic sur le service Citrix Receiver pour Web requis pour l'accès à distance à l’aide de NetScaler Gateway. Obtenir la méthode d'authentification ExplicitForms et CitrixAGBasic de Citrix Receiver pour Web à partir des protocoles pris en charge.

# Obtenir la méthode d'authentification ExplicitForms et CitrixAGBasic de Citrix Receiver pour Web à partir des protocoles pris en charge

# Inclus à des fins de démonstration car le nom du protocole peut être utilisé directement s'il est connu

$receiverMethods = Get-STFWebReceiverAuthenticationMethodsAvailable | Where-Object { $_ -match "Explicit" -or $_ -match "CitrixAG" }

# Activer CitrixAGBasic dans Receiver pour Web (requis pour l'accès à distance)

Set-STFWebReceiverService $receiverForWeb -AuthenticationMethods $receiverMethods

  • Active CitrixAGBasic sur le service d'authentification. Requis pour l'accès distant.

# Obtenir la méthode d'authentification CitrixAGBasic à partir des protocoles installés.

# Inclus à des fins de démonstration car le nom du protocole peut être utilisé directement s'il est connu

$citrixAGBasic = Get-STFAuthenticationProtocolsAvailable | Where-Object { $_ -match "CitrixAGBasic" }

# Activer CitrixAGBasic dans le service d'authentification (requis pour l'accès à distance)

Enable-STFAuthenticationServiceProtocol -AuthenticationService $authentication -Name $citrixAGBasic

  • Ajoute une passerelle d'accès à distance, en ajoutant l'adresse IP de sous-réseau facultative qui est fournie et en l'enregistrant auprès du magasin auquel accéder à distance.

# Ajouter une nouvelle passerelle utilisée pour accéder au nouveau magasin à distance

Add-STFRoamingGateway -Name "NetScaler10x" -LogonType Domain -Version Version10_0_69_4 -GatewayUrl $GatewayUrl '

-CallbackUrl $GatewayCallbackUrl -SecureTicketAuthorityUrls $GatewaySTAUrls

# Obtenir la nouvelle passerelle à partir de la configuration (Add-STFRoamingGateway retourne la nouvelle passerelle si -PassThru est fourni en tant que paramètre)

$gateway = Get-STFRoamingGateway -Name $GatewayName

# Si le sous-réseau de la passerelle a été fourni, définissez-le sur l'objet de la passerelle

if($GatewaySubnetIP)

{

    Set-STFRoamingGateway -Gateway $gateway -SubnetIPAddress $GatewaySubnetIP

}

# Enregistrer la passerelle avec le nouveau magasin

Register-STFStoreGateway -Gateway $gateway -StoreService $store -DefaultGateway

Exemple : Créer un déploiement avec accès à distance et passerelle de lancement optimale

L'exemple suivant est basé sur le script précédent et ajoute un déploiement avec accès à distance et passerelle de lancement optimale.

Avant de commencer, suivez les étapes détaillées dans Démarrage avec SDK. Cet exemple peut être personnalisé à l'aide des méthodes décrites pour produire un script qui automatise le déploiement StoreFront.

Remarque : pour vous assurer que vous obtiendrez toujours les dernières améliorations et correctifs, Citrix vous recommande de suivre la procédure décrite dans ce document, plutôt que de copier et de coller le script exemple. 

Compréhension du script

Cette section décrit la fonction de chaque partie du script généré par StoreFront. Ceci vous aidera à la personnalisation de votre propre script.

  • Définit la gestion des erreurs et importe les modules StoreFront requis. Les importations ne sont pas nécessaires dans des versions plus récentes de PowerShell.

Param(

    [Parameter(Mandatory=$true)]

    [Uri]$HostbaseUrl,

    [long]$SiteId = 1,

    [string]$Farmtype = "XenDesktop",

    [Parameter(Mandatory=$true)]

    [string[]]$FarmServers,

    [string]$StoreVirtualPath = "/Citrix/Store",

    [bool]$LoadbalanceServers = $false,

    [int]$Port = 80,

    [int]$SSLRelayPort = 443,

    [ValidateSet("HTTP","HTTPS","SSL")]

    [string]$TransportType = "HTTP",

    [Parameter(Mandatory=$true)]

    [Uri]$GatewayUrl,

    [Parameter(Mandatory=$true)]

    [Uri]$GatewayCallbackUrl,

    [Parameter(Mandatory=$true)]

    [string[]]$GatewaySTAUrls,

    [string]$GatewaySubnetIP,

    [Parameter(Mandatory=$true)]

    [string]$GatewayName,

    [Parameter(Mandatory=$true)]

    [Uri]$OptimalGatewayUrl,

    [Parameter(Mandatory=$true)]

    [string[]]$OptimalGatewaySTAUrls,

    [Parameter(Mandatory=$true)]

    [string]$OptimalGatewayName

)

Set-StrictMode -Version 2.0

# Tout échec est un échec fatal.

$ErrorActionPreference = 'Stop'

$ReportErrorShowStackTrace = $true

$ReportErrorShowInnerException = $true

# Importer modules StoreFront. Requis pour les versions antérieures à la version 3.0 de PowerShell qui ne prennent pas en charge le chargement automatique

Import-Module Citrix.StoreFront

Import-Module Citrix.StoreFront.Stores

Import-Module Citrix.StoreFront.Roaming

  • Appels dans le script de déploiement avec accès à distance pour configurer le déploiement de base et ajouter l'accès à distance.

# Créer un déploiement avec accès à distance

$scriptDirectory = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent

$scriptPath = Join-Path $scriptDirectory "RemoteAccessDeployment.ps1"

& $scriptPath -HostbaseUrl $HostbaseUrl -SiteId $SiteId -FarmServers $FarmServers -StoreVirtualPath $StoreVirtualPath -Farmtype $Farmtype `

    -LoadbalanceServers $LoadbalanceServers -Port $Port  -SSLRelayPort $SSLRelayPort -TransportType $TransportType `

    -GatewayUrl $GatewayUrl -GatewayCallbackUrl $GatewayCallbackUrl -GatewaySTAUrls $GatewaySTAUrls -GatewayName $GatewayName

  • Ajoute la passerelle de lancement optimale préférée à partir de la liste de passerelles configurées.

# Ajouter une nouvelle passerelle à utiliser pour l’accès HDX à distance aux applications et bureaux

$gateway = Add-STFRoamingGateway -Name $OptimalGatewayName -LogonType UsedForHDXOnly -GatewayUrl $OptimalGatewayUrl -SecureTicketAuthorityUrls $OptimalGatewaySTAUrls -PassThru

  • Oblige le service de magasin à utiliser la passerelle optimale, l'enregistrer, et l'attribuer aux lancements depuis la batterie désignée.

# Obtenir le magasin configuré par SimpleDeployment.ps1

$store = Get-STFStoreService -VirtualPath $StoreVirtualPath

# Enregistrer la passerelle avec le nouveau magasin pour le lancer dans toutes les batteries (actuellement une)

$farmNames = @($store.FarmsConfiguration.Farms | foreach { $_.FarmName })

Register-STFStoreOptimalLaunchGateway -Gateway $gateway -StoreService $store -FarmName $farmNames

Exemple : Créer un déploiement avec un site Desktop Appliance

L’exemple suivant se base sur l'exemple de déploiement simple et ajoute un déploiement avec site Desktop Appliance.

Avant de commencer, suivez les étapes détaillées dans Démarrage avec SDK. Cet exemple peut être personnalisé à l'aide des méthodes décrites pour produire un script qui automatise le déploiement StoreFront.

Remarque : pour vous assurer que vous obtiendrez toujours les dernières améliorations et correctifs, Citrix vous recommande de suivre la procédure décrite dans ce document, plutôt que de copier et de coller le script exemple. 

Compréhension du script

Cette section décrit la fonction de chaque partie du script généré par StoreFront. Ceci vous aidera à la personnalisation de votre propre script.

  • Définit la gestion des erreurs et importe les modules StoreFront requis. Les importations ne sont pas nécessaires dans des versions plus récentes de PowerShell.

Param(

    [Parameter(Mandatory=$true)]

    [Uri]$HostbaseUrl,

    [long]$SiteId = 1,

    [string]$Farmtype = "XenDesktop",

    [Parameter(Mandatory=$true)]

    [string[]]$FarmServers,

    [string]$StoreVirtualPath = "/Citrix/Store",

    [bool]$LoadbalanceServers = $false,

    [int]$Port = 80,

    [int]$SSLRelayPort = 443,

    [ValidateSet("HTTP","HTTPS","SSL")]

    [string]$TransportType = "HTTP",

    [Parameter(Mandatory=$true)]

    [Uri]$GatewayUrl,

    [Parameter(Mandatory=$true)]

    [Uri]$GatewayCallbackUrl,

    [Parameter(Mandatory=$true)]

    [string[]]$GatewaySTAUrls,

    [string]$GatewaySubnetIP,

    [Parameter(Mandatory=$true)]

    [string]$GatewayName,

    [Parameter(Mandatory=$true)]

    [Uri]$OptimalGatewayUrl,

    [Parameter(Mandatory=$true)]

    [string[]]$OptimalGatewaySTAUrls,

    [Parameter(Mandatory=$true)]

    [string]$OptimalGatewayName

)

Set-StrictMode -Version 2.0

# Tout échec est un échec fatal.

$ErrorActionPreference = 'Stop'

$ReportErrorShowStackTrace = $true

$ReportErrorShowInnerException = $true

# Importer modules StoreFront. Requis pour les versions antérieures à la version 3.0 de PowerShell qui ne prennent pas en charge le chargement automatique

Import-Module Citrix.StoreFront

Import-Module Citrix.StoreFront.Stores

Import-Module Citrix.StoreFront.Roaming

  • Automatiser un chemin d’accès au boîtier de bureau basé sur celui de $StoreVirtualPath.

$desktopApplianceVirtualPath = "$($StoreIISPath.TrimEnd('/'))Appliance"

  • Appels dans le script de déploiement simple pour configurer un déploiement par défaut avec les services requis.

# Créer un déploiement avec accès à distance

$scriptDirectory = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent

$scriptPath = Join-Path $scriptDirectory "RemoteAccessDeployment.ps1"

& $scriptPath -HostbaseUrl $HostbaseUrl -SiteId $SiteId -FarmServers $FarmServers -StoreVirtualPath $StoreVirtualPath -Farmtype $Farmtype `

    -LoadbalanceServers $LoadbalanceServers -Port $Port  -SSLRelayPort $SSLRelayPort -TransportType $TransportType `

    -GatewayUrl $GatewayUrl -GatewayCallbackUrl $GatewayCallbackUrl -GatewaySTAUrls $GatewaySTAUrls -GatewayName $GatewayName

  • Obtient le service de magasin de données à utiliser pour le site Desktop Appliance. Utilisez l'applet de commande Add-STFDesktopApplianceService pour ajouter le nouveau site avec l'authentification par nom d'utilisateur et mot de passe MultiDesktop et Explicit.

$store = Get-STFStoreService -VirtualPath $StoreVirtualPath

# Créer un nouveau site Desktop Appliance à l'aide des bureaux publiés par le service de magasin

Add-STFDesktopApplianceService -VirtualPath $desktopApplianceVirtualPath -StoreService $store -EnableExplicit