XFA vooraf installeren met elk ander systeem
XFA is niet gebonden aan één beheersysteem. Elk hulpmiddel dat een pakket kan installeren en ofwel een MSI-eigenschap kan meegeven ofwel een commando kan uitvoeren als de aangemelde gebruiker, kan XFA uitrollen. Vooraf installeren is een Enterprise-functie.
Windows
Geef het koppeltoken mee als MSI-eigenschap:
msiexec /i XFA.msi /qn ENROLLMENT_TOKEN=<your-enrollment-token>
ENROLLMENT_TOKEN is een publieke eigenschap, dus het werkt met elk hulpmiddel dat msiexec uitvoert, en het verandert niets aan de handtekening van het installatiebestand. Voeg EMAIL=person@example.com alleen toe bij een installatie op één toestel: het stelt één adres in, dus bij een uitrol over meerdere toestellen zou elk toestel als die persoon gekoppeld worden. Bij een uitrol leest XFA het adres per toestel uit Active Directory. Installeer voor de aangemelde gebruiker, want XFA is een applicatie per gebruiker.
Mislukt het koppelen, dan mislukt ook de installatie. Via msiexec krijg je dan een algemene installatiefout te zien, niet de eigen code van XFA: de reden (2 bij een geweigerd token, 3 wanneer XFA niet bereikbaar was) staat in %TEMP%\xfa\xfa-enrollment.log. Installeer eerst en koppel daarna apart (zie hieronder) om die code rechtstreeks terug te krijgen.
macOS
Installeer XFA.pkg voor de aangemelde gebruiker en geef het token op een van deze twee manieren mee:
- via een configuratieprofiel met het preference domain
com.xfa.desktopen de sleutelEnrollmentToken, of - via het bestand
/Library/Application Support/XFA/enrollment-token, dat alleen het token bevat. XFA leest dat bestand alleen als root de eigenaar is en niemand anders erin kan schrijven (modus 644), en dat is precies wat een beleid dat als root draait schrijft. Dit bestand bepaalt bij welke organisatie de Mac hoort, dus een bestand dat niet aan die eisen voldoet wordt genegeerd.
XFA leest bij het opstarten wat er aanwezig is en koppelt de aangemelde gebruiker. Het profiel heeft voorrang.
Mislukt het koppelen, dan staat de reden in /tmp/xfa/xfa-enrollment.log op de Mac.
Eerst installeren, daarna apart koppelen
Installeert je hulpmiddel pakketten en voert het commando's uit als aparte stappen, koppel dan met:
xfa enroll --token <your-enrollment-token>
Voer dat uit als de aangemelde gebruiker, want de inloggegevens komen in de sleutelhanger of Credential Manager van die gebruiker terecht. Voeg --email <address> toe wanneer het adres van dat account niet het juiste is.
Het opnieuw uitvoeren is veilig en kost geen extra verzoek: XFA herkent het token en controleert de koppeling lokaal.
xfa staat op %LOCALAPPDATA%\XFA\xfa-backend.exe op Windows en op /Applications/XFA.app/Contents/MacOS/xfa op macOS.
Wacht op XFA op Windows
XFA is een venstertoepassing, dus er verschijnt geen opdrachtprompt op het scherm van de gebruiker terwijl het werkt. Daardoor wacht een shell er niet op, krijgt die de afsluitcode nooit te zien en is er geen console om uit te lezen. Start het en wacht:
$run = Start-Process "$env:LOCALAPPDATA\XFA\xfa-backend.exe" -Wait -PassThru `
-ArgumentList 'enroll', '--token', '<your-enrollment-token>'
$run.ExitCode
Voer je het rechtstreeks uit, dan keert het meteen terug zonder uitvoer en zonder afsluitcode, wat als succes wordt gelezen, wat er ook gebeurd is. Alles wat op het resultaat verdergaat (een uitrolstap, een detectieregel, een controle) moet dus op het proces wachten.
De reden van een mislukking staat in %TEMP%\xfa\xfa-enrollment.log, met bij elke uitvoering het commando en het tijdstip. Het koppeltoken komt daar nooit in te staan.
Het resultaat controleren
xfa enrollment-status
Afsluitcode 0 betekent dat het toestel gekoppeld is, 10 dat het niet gekoppeld is. Voeg --organization-id <id> toe om naar één organisatie te vragen. Het commando leest de lokale toestelgegevens, dus het heeft geen netwerk en geen beheerdersrechten nodig, waardoor je het kunt gebruiken als detectieregel of controle.
Voer het op Windows op dezelfde manier uit als hierboven. Een detectieregel die niet op het proces wacht, leest de afsluitcode die er toevallig voor stond en rapporteert zo naleving die het nooit gemeten heeft.