Préinstaller XFA via un MDM Enterprise plan
XFA est fait pour être installé par l'équipe que vous voulez sécuriser. Les utilisateurs l'installent eux-mêmes après une invitation via Awareness, ou lors d'une connexion protégée par Enforcement. Pour la plupart des organisations, c'est tout le déploiement.
Une organisation qui gère déjà ses appareils peut préinstaller et rattacher XFA via un MDM, pour qu'il soit en place dès qu'une personne se connecte. Cela fonctionne avec Intune, Configuration Manager, Jamf ou tout autre système capable d'installer un paquet et d'exécuter une commande en tant qu'utilisateur connecté.
Quand préinstaller
Préinstallez quand l'une de ces situations s'applique :
- Vous gérez déjà ces appareils de façon centralisée, et ajouter XFA à un déploiement existant demande moins de travail que de demander aux gens de l'installer.
- Vous voulez les vérifications de XFA en place dès le premier jour, sans attendre que chaque personne accepte une invitation, ce qui aide quand les vérifications conditionnent un accès.
- Vous quittez les contrôles d'accès basés sur le MDM et vous voulez faire tourner les vérifications d'appareil de XFA en plus de votre MDM avant de vous appuyer dessus. Commencez par Migrer d'un MDM vers XFA.
Si rien de tout cela ne s'applique, une invitation est plus rapide à mettre en place et plus facile à défaire.
Faire tourner XFA en plus de votre MDM
XFA tourne en plus de votre MDM et ne lui fait pas concurrence.
- XFA ne gère pas le système d'exploitation. Il ne configure pas de paramètres, ne pousse pas de politiques et n'efface pas d'appareils. Il vérifie l'état de sécurité de l'appareil et peut avertir l'utilisateur ou bloquer l'accès aux applications protégées. Votre MDM continue de faire ce qu'il fait.
- Il s'installe pour l'utilisateur, pas pour la machine, et n'a besoin d'aucun droit d'administrateur sur l'appareil lui-même. Le déployer via votre MDM est une commodité, pas une obligation. Le même paquet s'installe si une personne le télécharge.
- Il n'a pas besoin d'être votre seul agent. Un appareil peut être géré par votre MDM et vérifié par XFA en même temps ; XFA rapporte ce qu'il constate au lieu de prendre la main.
- Un appareil peut appartenir à plusieurs organisations. Retirer une organisation laisse les autres intactes, et c'est pourquoi le retrait retire un rattachement plutôt que l'application.
La commande d'installation
Quel que soit le système que vous utilisez, voici la commande qu'il exécute.
Sous Windows, le token de rattachement est une propriété MSI ordinaire :
msiexec /i XFA.msi /qn ENROLLMENT_TOKEN=<your-enrollment-token>
C'est toute la commande pour un parc entier. XFA lit l'adresse de chaque appareil dans l'annuaire, donc rien dans la commande ne change d'une personne à l'autre.
EMAIL est une seconde propriété facultative, pour une installation sur un seul appareil dont vous connaissez le propriétaire. Elle fixe une seule adresse, donc un déploiement de parc qui la contiendrait rattacherait tous les appareils à cette personne :
msiexec /i XFA.msi /qn ENROLLMENT_TOKEN=<your-enrollment-token> EMAIL=person@example.com
Sous macOS, un paquet ne peut pas recevoir d'arguments, donc le token voyage dans un profil de configuration avec le preference domain com.xfa.desktop et la clé EnrollmentToken. Email est une seconde clé facultative. Déployez XFA.pkg avec ce profil.
Installez-le pendant que la personne est connectée. Le paquet s'installe en tant que root, comme tout paquet macOS, puis confie l'application à qui se trouve devant la console. Un Mac resté sur l'écran de connexion se retrouve donc avec une application appartenant à root, que son utilisateur ne peut ni lancer ni mettre à jour. Dans Jamf, utilisez le déclencheur Login. Dans Intune, assignez l'application à un groupe d'utilisateurs plutôt qu'à un groupe d'appareils, pour qu'elle s'installe quand cette personne est connectée.
Si votre système sait faire l'une de ces deux choses, il peut déployer XFA, même s'il n'est pas listé ci-dessous.
Paquets
| Paquet | Plateforme |
|---|---|
| XFA.msi | Windows, x64 et ARM64 |
| XFA-arm64.msi | Windows, ARM64 natif uniquement |
| XFA.pkg | macOS, Apple Silicon et Intel |
Utilisez XFA.msi pour tous les appareils Windows. Sur ARM64, il tourne en émulation et XFA se remplace automatiquement par la version native. Ne déployez XFA-arm64.msi vers un groupe d'appareils ARM64 que si vous voulez du natif dès la première minute.
Ces liens pointent toujours vers la version actuelle, donc un déploiement n'a pas besoin d'être mis à jour quand XFA sort une nouvelle version.
Les paquets sont signés, et le signataire est le même à chaque version. Si votre outillage vérifie l'éditeur, épinglez l'identité de XFA plutôt que d'accepter n'importe quelle signature valide :
- macOS :
Developer ID Application: XFA (89ZG68UL25)(Team ID89ZG68UL25). - Windows : le certificat Authenticode dont le common name du sujet est
XFA. Lisez l'éditeur complet depuis unXFA.msitéléchargé avecGet-AuthenticodeSignature XFA.msiet épinglez-le.
Choisissez votre système
| Système | Plateforme | Guide |
|---|---|---|
| Microsoft Intune | Windows | Déployer avec Intune |
| Microsoft Configuration Manager (SCCM) | Windows | Déployer avec Configuration Manager |
| Jamf Pro | macOS | Déployer avec Jamf Pro |
| Tout le reste | Windows, macOS | Déployer avec tout autre système |
Avant de commencer
La préinstallation via un MDM s'active par organisation. Si la section Préinstaller XFA via un MDM n'apparaît pas sur votre page Intégrations, demandez à XFA de l'activer pour votre organisation ; d'ici là, aucun token de rattachement ne peut être créé et les rattachements sont refusés.
Ouvrez Intégrations > Préinstaller XFA via un MDM dans le tableau de bord XFA et choisissez votre système. Le tableau de bord crée le token de rattachement la première fois qu'un administrateur en ouvre un, et affiche la commande finie avec le token déjà dedans.
Il y a un seul token de rattachement par organisation, partagé par tous les déploiements. Traitez-le comme un secret et limitez l'accès à la politique qui le porte. Le renouveler invalide toutes les commandes copiées qui contiennent l'ancien token ; les appareils déjà rattachés ne sont pas touchés.
Comment XFA détermine l'utilisateur
XFA est une application par utilisateur. Déployez-la vers des utilisateurs et installez-la pendant que cet utilisateur est connecté.
Aucun MDM ne transmet l'adresse e-mail de l'utilisateur assigné à une commande d'installation, donc XFA la détermine sur l'appareil. Il retient la première de ces sources qui donne une adresse e-mail valide :
Windows
| Ordre | Source | Quand elle s'applique |
|---|---|---|
| 1 | La propriété EMAIL que vous avez passée | Uniquement pour une installation sur un seul appareil. Elle fixe une seule adresse, donc elle n'a pas sa place dans un déploiement de parc. |
| 2 | L'attribut mail dans Active Directory | Appareils joints au domaine qui peuvent joindre un contrôleur de domaine. C'est la vraie adresse e-mail de la personne. |
| 3 | Le user principal name du compte | Appareils joints à Entra, où ce nom est l'adresse e-mail. |
macOS
| Ordre | Source | Quand elle s'applique |
|---|---|---|
| 1 | La clé Email dans le profil de configuration | Chaque fois que le profil en contient une. Le profil que génère le tableau de bord XFA utilise la variable propre à votre MDM ($EMAIL pour Jamf, {{mail}} pour Intune), donc l'adresse vient du système qui la connaît déjà. |
| 2 | L'enregistrement EMailAddress dans l'annuaire local | Macs liés à un service d'annuaire. La plupart ne le sont pas. |
Si aucune ne donne d'adresse e-mail valide, XFA s'arrête au lieu de deviner. Sous Windows, votre déploiement signale une erreur, et %TEMP%\xfa\xfa-enrollment.log sur l'appareil indique à quelle étape les possibilités se sont épuisées. Sous macOS, le même détail se trouve dans /tmp/xfa/xfa-enrollment.log.
Active Directory est consulté avant le principal name parce que les deux diffèrent souvent. Un suffixe comme someone@corp.local est une adresse valide pour ce que XFA peut en juger, donc s'y fier d'abord rattacherait des appareils sous des identités que personne n'utilise, sans que rien ne le signale. Les comptes Entra utilisent l'adresse comme principal name, donc les deux concordent.
Ni Jamf ni Intune ne vérifie que sa variable de profil a bien été remplacée. Si ce n'est pas le cas, c'est le texte littéral qui arrive au lieu d'une adresse. XFA écarte tout ce qui n'est pas une adresse et se rabat sur la source suivante plutôt que de rattacher un appareil sous {{mail}}.
Retirer XFA d'un appareil géré
Pour retirer uniquement cette organisation et garder XFA installé, exécutez en tant qu'utilisateur connecté :
xfa unenroll --organization-id <organization-id>
Cela retire uniquement cette organisation, conserve tout autre rattachement, et réussit même si le rattachement a déjà disparu.
Pour retirer aussi l'application, suivez l'étape de désinstallation du guide de votre plateforme ci-dessus. Sous Windows, ces guides fournissent un uninstall-xfa.ps1 qui retire XFA par son UpgradeCode stable, car le product code de XFA change à mesure qu'il se met à jour et un simple msiexec /x XFA.msi ne correspond plus à la version installée. Sous macOS, supprimez XFA.app. Une désinstallation simple retire l'application partagée sans annuler le rattachement, donc si l'appareil appartient encore à une autre organisation, annulez d'abord le rattachement et laissez l'application en place : xfa enrollment-status renvoie le code de sortie 0 tant qu'un rattachement subsiste, et 10 dès qu'il est sûr de retirer l'application. Sous macOS, retirez d'abord le profil de configuration, sinon l'appareil se rattache à nouveau à partir de celui-ci au prochain démarrage de XFA.
Ce qui se passe sur l'appareil
- Le paquet s'installe pour l'utilisateur connecté.
- XFA rattache cet utilisateur à votre organisation, avec le token que vous avez fourni.
- XFA démarre immédiatement (sans déconnexion ni redémarrage) et s'enregistre pour démarrer avec l'appareil à partir de ce moment.
- L'appareil apparaît sur votre page Appareils, et XFA se tient à jour tout seul à partir de ce moment, sans autre déploiement.
Rien n'apparaît à l'écran de l'utilisateur. La fenêtre de premier lancement habituelle de XFA est volontairement supprimée pour une installation gérée, donc un déploiement sur tout un parc reste invisible pour les personnes qu'il touche.
Codes de résultat
Ce sont les codes de résultat de rattachement propres à XFA. Vous les voyez directement quand vous exécutez la commande d'enroll vous-même. Via un MDM, vous ne voyez généralement que si l'installation a réussi ou échoué, et le motif correspondant est écrit dans %TEMP%\xfa\xfa-enrollment.log sur l'appareil.
| Code | Signification | Ce qu'il faut faire |
|---|---|---|
| 0 | Rattaché, ou déjà rattaché | Rien |
| 1 | La commande était incorrecte, ou aucune adresse e-mail utilisable | Corrigez la commande ; réessayer ne changera rien |
| 2 | Le token de rattachement a été refusé | Générez-en un nouveau dans le tableau de bord XFA |
| 3 | XFA n'a pas pu être joint | Réessayez plus tard |
| 4 | Un problème local est survenu : les identifiants n'ont pas pu être enregistrés, XFA n'a pas pu démarrer après le rattachement, ou l'appareil est resté avec une organisation qu'il n'a plus | Réessayez, et contactez le support si cela persiste |
| 5 | Les identifiants propres à cet appareil ont été refusés | Contactez le support, le token n'est pas en cause |
| 6 | Cela s'est exécuté en tant que machine plutôt qu'en tant que personne | Déployez vers des utilisateurs, pas vers des appareils. Sur un Mac, exécutez-le en tant qu'utilisateur connecté : un script de politique Jamf s'exécute en tant que root, et root n'a pas de XFA à lui |
Via le MSI, le rattachement s'exécute comme dernière étape de l'installation avec Return="check", donc un résultat non nul fait échouer l'installation : le MDM signale une erreur (une erreur générique d'installation comme 1603, pas le code précis ci-dessus) plutôt que de passer en silence avec un appareil installé mais non rattaché à votre organisation. Lisez le motif réel dans %TEMP%\xfa\xfa-enrollment.log. Comme le rattachement s'exécute une fois l'installation déjà validée, XFA reste installé dans les deux cas, donc l'utilisateur dispose toujours d'une application fonctionnelle qu'il peut rattacher lui-même.
Résolution des problèmes
| Ce que vous voyez | Ce que cela signifie |
|---|---|
| Le déploiement a réussi, mais aucun appareil n'apparaît | Il s'est installé pour le mauvais compte. Sous Windows, c'est le contexte d'installation : il doit s'installer pour l'utilisateur connecté, pas pour la machine. |
| Code de sortie 2 | Le token a été refusé. Générez-en un nouveau dans le tableau de bord et mettez le déploiement à jour. Le renouvellement invalide toutes les commandes qui portent l'ancien token. |
| Code de sortie 1, avec une mention d'adresse e-mail | XFA n'a trouvé aucune adresse pour ce compte. Sur un parc joint au domaine, renseignez mail dans Active Directory pour ces utilisateurs. N'ajoutez pas EMAIL à un déploiement de parc : cela fixe une seule adresse pour tous ceux qu'il touche. |
| Des appareils rattachés sous des adresses que personne ne reconnaît | Active Directory n'a pas de mail pour ces comptes, donc XFA s'est rabattu sur le user principal name, qui dans votre annuaire porte un suffixe comme corp.local plutôt qu'une adresse e-mail. Renseignez mail, XFA le préfère. |
| Le Mac a XFA mais ne se rattache jamais | Le profil ne le cible pas, ou porte un autre preference domain. Il doit être com.xfa.desktop avec la clé EnrollmentToken. |
| Un appareil rattaché à la mauvaise organisation | Exécutez xfa unenroll --organization-id <id> en tant que cet utilisateur, puis redéployez avec le bon token. |
Pour demander à un appareil à quoi il pense être rattaché, exécutez xfa enrollment-status en tant qu'utilisateur connecté : le code de sortie 0 signifie rattaché, 10 signifie non rattaché. Il lit les identifiants locaux, donc il n'a besoin ni du réseau ni de droits d'administrateur.
Sous Windows, lancez-le et attendez-le : XFA est une application fenêtrée, donc un shell rend la main immédiatement et ne reçoit jamais son code de sortie. Exécuter les commandes à la main montre comment faire, et nomme le fichier journal qui dit pourquoi un rattachement a échoué : %TEMP%\xfa\xfa-enrollment.log.