Intune – Packaging personnalisé FortiClient VPN

Dans dans cet article, je vais vous présenter comment générer un packaging personnalisé du client VPN Fortinet, FortiClient avec la configuration VPN souhaitée. Le but est d’avoir un applicatif déployé via Microsoft Intune et prêt à l’emploi.

Préparer le packaging applicatif

Extraction du fichier d’installation

La première étape à réaliser va être de télécharger l’assistant de téléchargement en ligne de FortiClient VPN depuis le site de l’éditeur (Fortinet).


Ensuite, nous allons récupérer le fichier d’installation MSI téléchargé et exécuté par l’assistant de téléchargement. Ce dernier est stocké à l’emplacement suivant %localappdata%\Temp\<GUID Aléatoire> sous le nom de « FortiClientVPN.msi ». Veuillez laisser ouvert l’assistant d’installation et ne pas procéder à l’installation.

Script d’installation

Le packaging va contenir un script PowerShell utilisé pour lancer l’installation du client VPN FortiClient puis la création du profil de connexion VPN. On le nommera Script_Install_Custom_FortiClientVPN.ps1.

#########################################################################
# Installation FortiClient avec profil de connexion VPN personnalise
# Clement HAUROGNE - clement-haurogne.fr
# Mai 2023 - Version 1.0
#########################################################################

# Redemarrer le processus PowerShell 64-bit
If ($ENV:PROCESSOR_ARCHITEW6432 -eq "AMD64") {
Try {
&"$ENV:WINDIR\SysNative\WindowsPowershell\v1.0\PowerShell.exe" -File
$PSCOMMANDPATH
}
Catch {
Throw "Failed to start $PSCOMMANDPATH"
}
Exit
}

# Installation de FortiClient VPN
Start-Process Msiexec.exe -Wait -ArgumentList '/i FortiClientVPN.msi REBOOT=ReallySuppress /qn'

# Configuration du profil de connexion VPN
if((Test-Path -LiteralPath "HKLM:\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\<Nom de la connexion VPN>") -ne $true)
{
	New-Item "HKLM:\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\<Nom de la connexion VPN>" -force -ea SilentlyContinue 
};
New-ItemProperty -LiteralPath 'HKLM:\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\<Nom de la connexion VPN>' -Name 'Description' -Value '<Nom de la connexion VPN>' -PropertyType String -Force -ea SilentlyContinue;
New-ItemProperty -LiteralPath 'HKLM:\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\<Nom de la connexion VPN>' -Name 'Server' -Value '<FQDN ou IP:port>' -PropertyType String -Force -ea SilentlyContinue;
New-ItemProperty -LiteralPath 'HKLM:\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\<Nom de la connexion VPN>' -Name 'promptusername' -Value 1 -PropertyType DWord -Force -ea SilentlyContinue;
New-ItemProperty -LiteralPath 'HKLM:\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\<Nom de la connexion VPN>' -Name 'promptcertificate' -Value 0 -PropertyType DWord -Force -ea SilentlyContinue;
New-ItemProperty -LiteralPath 'HKLM:\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\<Nom de la connexion VPN>' -Name 'ServerCert' -Value '0' -PropertyType String -Force -ea SilentlyContinue;

# Fin

Script de désinstallation

Ensuite, nous allons créer un script PowerShell utilisé pour désinstaller le client VPN FortiClient puis supprimer le profil de connexion VPN. On le nommera Script_Uninstall_Custom_FortiClientVPN.ps1.

#########################################################################
# Désinstallation FortiClient avec profil de connexion VPN personnalise
# Clement HAUROGNE
# Mai 2023 - Version 1.0
#########################################################################

# Rédemarrer le processus PowerShell 64-bit
If ($ENV:PROCESSOR_ARCHITEW6432 -eq "AMD64") {
Try {
&"$ENV:WINDIR\SysNative\WindowsPowershell\v1.0\PowerShell.exe" -File
$PSCOMMANDPATH
}
Catch {
Throw "Failed to start $PSCOMMANDPATH"
}
Exit
}

# Stopper le processus FortiClient
Stop-Process -Name FortiClient -ErrorAction SilentlyContinue

# Désinstaller FortiClient
Start-Process Msiexec.exe -wait -ArgumentList /'x {C0BEAA5B-4422-4FF8-B616-9F269C360290} REBOOT=ReallySuppress /qn'

# Suppression du profil VPN FortiClient
Remove-Item -LiteralPath "HKLM:\SOFTWARE\Fortinet\FortiClient\Sslvpn\Tunnels\<Nom du profil de la connexion VPN>" -force -ErrorAction SilentlyContinue

# Fin

Générer le packaging Intunewin

Placer dans un même dossier les éléments suivants :

  • Le fichier d’installation MSI FortiClient VPN
  • Le script d’installation PowerShell
  • Le script de désinstallation PowerShell

A ce stade, nous allons télécharger l’outil de création de packaging d’application Intunewin depuis le dépôt GitHub officiel.


Exécuter ensuite l’outil (IntuneWinAppUtil.exe) que nous venons de télécharger ; une fenêtre PowerShell s’ouvrira. Il faudra y spécifier :

  • Le chemin complet du répertoire contenant les sources de l’applicatif : le répertoire créé précédement.
  • Le nom du fichier d’installation : Script_Install_Custom_FortiClientVPN.ps1 (vari sur la capture).
  • Le chemin complet du répertoire où enregistrer le pachage applicatif au format Intunewin.

Ajouter l’application dans Intune

Maintenant que le packaging Intunewin est prêt, il ne nous reste plus qu’à l’ajouter aux applications déployées dans Microsoft Intune.

Pour ce faire, une fois authentifier au Centre d’administration Intune (https://endpoint.microsoft.com/) > Applications > Ajouter > Application Win32.

Onglet Informations

Chargez le packaging Intunewin à l’étape « Informations ». Les informations à propos de l’application seront ensuite prérenseignée.

Onglet Program

Commande d’installation / Install command :

powershell.exe -noprofile -windowstyle hidden -executionpolicy bypass -fil .\Script_Install_Custom_FortiClientVPN.ps1

Commande de désinstallation / Uninstall command :

powershell.exe -noprofile -windowstyle hidden -executionpolicy bypass -fil .\Script_Uninstall_Custom_FortiClientVPN.ps1

Conservez les codes de retours par défaut et pré-renseignés.

Onglet Règle de détection

Ajoutez la règle de détection comme suit :

ParamètreValeur
TypeFichier
Chemin%ProgramFiles%\Fortinet\FortiClient
Fichier ou dossierFortiClient.exe
Méthode de détectionChaine de caractère (Version)
OpérateurSupérieur ou égal à
ValeurSaisir le numéro de version du client VPN déployé
Associer à une application 32 bitsNon

Vous pouvez valider l’ajout de l’application et tester immédiatement son installation sur un PC enrollé à Intune. N’oubliez pas de l’intégrer dans le scope de déploiement de votre application.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Retour en haut