Archives par mot-clé : Jamf

Déployer les apps de Microsoft Office à la demande avec un profil de configuration

Parfois chez Gete.Net Consulting, nous sommes confrontés à des problèmes techniques… intéressants. Ainsi, chez certains clients, nous devons déployer la suite Microsoft Office, mais sans installer Outlook, le logiciel par défaut choisi dans l’entreprise étant Apple Mail.

Dans ce cas, l’installation d’Office est un peu compliquée puisqu’il faut installer chaque application séparément, ou installer l’ensemble de la suite puis supprimer Outlook. Et installer les apps séparément peut être beaucoup plus lourd, puisque l’ensemble des applications d’Office installée individuellement pèse plus du double du package complet de Microsoft Office !

Et oui, si on retire Outlook de l’installation, ça fait quand même 3,38 contre 1,92 Go pour le package complet d’Office.

Autre cas aussi : vous souhaitez ne pas installer l’application Microsoft AutoUpdate pour garder le contrôle sur les mises à jour. Mais elle est installée par défaut. Même si vous pouvez la supprimer à posteriori, ça pourrait être plus simple de ne juste pas l’installer (et de ne plus avoir à y penser).

Il existe pourtant une solution pour forcer l’installation uniquement des applications de votre choix depuis le package Office. Pour cela, il faut passer par un profil de configuration (proposé par Paul Bowden, ingénieur Microsoft de l’équipe Microsoft Office Mac) poussé par votre MDM. Ce profil doit contenir des informations personnalisées que vous pouvez retrouver ici :

https://github.com/pbowden-msft/Payloads/blob/master/DeploymentExcluder.plist

Téléchargez ce fichier Property List, et modifiez son contenu pour passer à false toutes les apps que vous ne souhaitez pas installer.

Dans notre cas, pour installer tout Microsoft Office sans installer Outlook, on utiliserait le fichier plist suivant :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>InstallWord</key>
	<true/>
	<key>InstallExcel</key>
	<true/>
	<key>InstallPowerPoint</key>
	<true/>
	<key>InstallOutlook</key>
	<false/>
	<key>InstallOneNote</key>
	<true/>
	<key>InstallOneDrive</key>
	<true/>
	<key>InstallTeams</key>
	<true/>
	<key>InstallAutoUpdate</key>
	<true/>
</dict>
</plist>

Il suffit maintenant d’importer ce fichier dans un profil de configuration. La méthode dépendra évidemment de votre MDM. Par exemple, dans Jamf Pro :

  • Cliquez sur Profils de configuration > Nouveau
  • Ciquez sur Apps et réglages personnalisés > Upload.
  • Donnez un nom à votre profil.
  • Spécifiez com.microsoft.office dans la ligne Domaine de préférence et collez le contenu du fichier Plist modifié dans le champ Liste de propriétés.
  • Spécifiez enfin le scope de votre profil…
  • Et cliquez sur Enregistrer.

Si vous voulez faire la même chose dans FileWave, il suffit de créer un fileset contenant un profil de configuration, et d’ajouter les données comme Custom Settings.

Poussez ensuite le profil sur les appareils de votre choix, et lancez l’installation de Microsoft Office (via une policy pour Jamf Pro, ou un Fileset dédié pour FileWave, ou en le poussant avec Munki ou le MDM de votre choix). Et si tout va bien, seules les applications validées seront installées.

On dit merci qui ? Merci Paul Bowden (moi je ne suis que le messager) !

Créer rapidement des groupes d’un certain nombre d’appareils dans Jamf Pro

(Oui, je sais, mes titres sont parfois un peu longs.)

Une petite astuce qui m’a été fort utile il y a quelques jours avec Jamf Pro : un de mes clients avait besoin de créer plusieurs groupes d’une cinquantaine de Mac chacun pour procéder à un déploiement progressif sur l’ensemble du parc (plusieurs centaines de machines).

La première idée était de créer des groupes statiques comportant chacun une cinquantaine de machines. Et ça… c’est long à créer, car il faut créer le groupe, cocher 50 postes, enregistrer le groupe, créer un autre groupe, cocher les 50 postes suivants, enregistrer, etc… Fastidieux.

Mais en y réfléchissant un peu, il y avait une approche plus pertinente. À chaque fois qu’un poste est enrôlé, il lui est associé un identifiant unique : le JSS Computer ID. Et cet identifiant augmente de 1 pour chaque nouvel appareil ajouté. Le premier appareil a donc l’identifiant 1, le deuxième 2, etc. C’est bien fichu.

Et d’un coup, la solution est arrivée : il suffit de créer le nombre de groupes désirés (ici 8) sous forme de groupe intelligent, et spécifier comme critère pour le premier groupe :

JSS Computer ID est plus grand que 0

ET

JSS Computer ID est plus petit que 50

Capture d'écran de Jamf Pro pour illustrer la création de groupes d'une certaine taille.
Finalement, ce JSS Computer ID sert à quelque chose…

Et pour créer les groupes suivants ? Vous avez juste besoin de dupliquer le groupe et changer les valeurs (49 -> 100, 99 -> 150, etc).

Voilà. Enregistrez votre groupe, et regardez le contenu : oooooh, des groupes des 50 postes ! Ou presque : en effet, chaque poste supprimé ne se voit plus réattribué un ancien JSS Computer ID. Donc peut-être que vous aurez un premier groupe comportant moins de machines. Mais l’idée étant surtout de dégrossir pour éviter d’avoir une charge trop importante et pouvoir déployer « au fil de l’eau », cela reste une solution très satisfaisante.

Jamf Pro : contrôler quand installer un profil durant le déploiement

Allez, ça faisait un longtemps, un article bien technique, à l’attention d’un public averti. Je vais d’ailleurs cette année essayer de pousser un peu plus ces articles techniques destinés aux administrateurs systèmes et gestionnaires de MDM Apple.

Dans le cadre d’une intégration Jamf Pro chez un des mes clients, j’ai du gérer la problématique suivante :

Comment contrôler à quel moment un profil de configuration doit être installé sur un Mac ?

En effet, une fois un Mac enrôlé dans le MDM (que ça soit automatiquement au démarrage via le programme Apple Business Manager ou Apple School Manager, ou manuellement), à partir du moment où l’on souhaite par exemple déployer un profil Wi-Fi, il est déployé automatiquement via la magie du push. Ce qui pose le risque de casser le déploiement si le profil Wi-Fi impose une bascule automatique.

Exemple : vous êtes employé de Gete.Net Consulting, et vous recevez votre nouveau Mac rutilant. Votre nouveau boss, qui a tout prévu, vous a fait livrer votre Mac, et vous devez l’enrôler dans votre solution de gestion. Ce Mac a été prévu pour se connecter automatiquement au réseau GeteOuEssayéMaisRienNWiFi, dont le mot de passe particulièrement complexe est intégré au profil. Ce qui peut présenter l’avantage d’éviter de devoir transmettre le mot de passe oralement ou par écrit, et de lui donner une complexité bien plus importante. Le profil pourrait aussi permettre de pousser une authentification au Wi-Fi via certificat, ce qui est bien plus sécurisé.

Cependant, si le réseau est à portée d’antenne, le Mac aura tendance durant l’enrôlement à basculer sur ce réseau Wi-Fi sécurisé dès qu’il sera disponible, sans s’occuper de savoir si le reste de l’enrôlement (installation de logiciels par ex) est terminé. Ce qui peut être gênant, vous en conviendrez.

Pour éviter cette rupture dans le déploiement, on peut avoir deux approches :

  1. Fournir le profil à l’utilisateur via le Self Service de Jamf Pro ;
  2. Utiliser une méthode un peu plus complexe, mais entièrement automatisée.

Si nous optons pour l’approche automatisée, voici comment faire. Attention, c’est particulièrement sioux.

Créer un attribut d’extension

Dans la console Jamf Pro, cliquez sur Réglages > Ordinateur et sélectionnez Attributs d’extension.

Cliquez sur Nouveau

Appliquez les différents réglages comme sur la capture d’écran ci-dessous. Pour ce qui est du script lui-même, voici son contenu :

!/usr/bin/env bash
RESULT="Wifi KO"
if [ -f "/var/db/.wifi-ok" ] ; then
RESULT="Wifi OK"
fi
/bin/echo "$RESULT"

Par défaut, on aura donc un attribut d’extension dont le résultat est Wi-Fi KO. Les chemins et les noms de fichier choisis ici sont par ailleurs totalement arbitraires, vous pouvez donc les customiser comme vous le souhaitez.

Variante : vous pouvez aussi créer le fichier à la fin d’un script d’enrôlement pour indiquer que l’enrôlement est bien terminé pour appliquer d’autres conditions. Vous pourriez donc nommer le fichier .EnrolementFini si ça vous chante. Par contre, je vous conseille de le laisser invisible. Perso, je génère un dossier au nom du client dans /usr/local et j’essaie de créer une petite hiérarchie propre dedans, donc ça pourrait être /usr/local/getenet/.EnrolementFini.

Créez un groupe intelligent

Une fois votre attribut étendu généré :

  1. Cliquez sur Groupe intelligent d’ordinateurs > Nouveau ;
  2. Cliquez sur Afficher les critères avancés ;
  3. Choisissez votre critère Activation Wi-Fi ;
  4. Dans la case Valeur, tapez Wifi OK (ou toute autre valeur générée dans le script).
  5. Enregistrez.

Associer le groupe au profil Wi-Fi

Il nous faut maintenant créer notre profil Wi-Fi pour l’associer au Groupe intelligent. Pas l’opération la plus dure :

  1. Cliquez sur Profils de configuration ;
  2. Cliquez sur Nouveau ;
  3. Remplissez votre profil de configuration Wi-Fi comme d’habitude ;
  4. Cliquez sur Périmètre ;
  5. Cliquez sur Computer Groups ;
  6. Cliquez sur le bouton Add en face de votre groupe intelligent créé précédemment (oui, la régionalisation de Jamf Pro, c’est pas toujours ça…) ;
  7. Validez, comme Johnny.

Pfiouuuu. Allez, c’est presque fini.

Activer l’état Wi-Fi Ready

Mais comment lui faire changer son état ? Facile : il suffit de générer le fichier /var/db/.wifi-ok via une simple commande, par exemple en ajoutant dans le script de déploiement la commande :

touch /var/db/.wifi-ok

Suivie d’une mise à jour de l’inventaire :

jamf recon

Notez que tout cela doit se faire dans le contexte du compte root (mais Jamf lance tous les scripts en tant que root, donc c’est OK).

Personnellement, j’ai utilisé cette méthode chez deux clients différents, et elle fonctionne parfaitement avec une version modifiée du script DEPNotify Starter, en générant le fichier à la fin du script.

Et si vous avez besoin d’aide pour mettre cette solution en place, il suffit de demander.

Office Reset : l’outil indispensable quand Office vous fait des misères

Il y a quelques jours, un nouveau site a été annoncée par l’équipe de développeurs de Microsoft Office pour macOS : https://www.office-reset.com. Ce site propose différents outils pour remettre d’aplomb une installation d’Office défaillante.

Le principal outil s’appelle donc Office-Reset. L’approche est assez simple : il s’agit d’un paquet d’installation à télécharger et à lancer sur le Mac. Une fois lancé, l’app propose différentes options à cocher pour réinitialiser les apps de façon individuelle, ou de façon plus globale. Vous pouvez aussi en profiter pour supprimer Skype for Business (obsolète, il faut passer sur MS Teams maintenant enfin !), réinitialiser la licence (utile par exemple si vous décidez de basculer vers une licence Office 365 alors que vous utilisiez une licence Office à l’achat)…

Cochez les bonnes cases pour faire un nettoyage de Microsoft Office… plus ou moins en profondeur.

ATTENTION CEPENDANT : l’option Supprimer les données Outlook fait ce qu’elle indique, à savoir supprimer toutes les données d’Outlook en local. Du coup, si vous gardiez des messages d’une boite relevée en POP ou si vous stockiez des messages hors ligne (visible dans Outlook dans le dossier « Sur mon ordinateur »), ces messages seront intégralement perdus. À n’utiliser qu’en dernier recours, donc.

Quand est-ce que je dois utiliser ce paquet ?

Quand vous rencontrez un problème avec une app de la suite Office. Sinon, pas la peine. Vous trouverez sur cette page quelques-uns des dialogues ou messages d’erreurs qui pourraient vous inciter à utiliser une des options de ce paquet.

Et si on est un administrateur Mac, est-ce que c’est intéressant ?

Je veux, mon neveu ! Vous pouvez utiliser évidemment ce paquet à la demande poste par poste, mais les développeurs de Microsoft ont eu aussi l’ingénieuse idée de proposer plusieurs paquets différents, chacun correspondant à une des options pré-citées. Du coup, cela vous permet de créer différentes options de nettoyage à la demande, que vous pouvez laisser à à la disposition de vos utilisateurs dans un outil comme le Self Service de Jamf, le kiosque de FileWave ou le centre de gestion des logiciels de Munki. Vous pouvez même récupérer sur cette page des p’tites icônes trop meugnonnes pour customiser votre store d’entreprise (en haut à droite, cliquez sur chaque petite icône, elles sont en fait en 512×512 pixels).

Le kiosque FileWave, tel que proposé chez mes clients, avec tous les outils de désinstallation d’Office Reset. À utiliser avec précaution, quand même.

Si on regarde derrière le capot, les paquets contiennent en fait juste des scripts de post-installation, et sont signés et notariés. Rappelons que vous pouvez ensuite télécharger les paquets des apps Microsoft (que ça soit Office complet ou les apps en version individuelle) pour Mac depuis le site https://macadmins.software.

De plus, Microsoft propose deux packages individuels : Factory Reset et Remise en état d’usine. Dans le premier cas, tous les réglages sont supprimés, les licences retirées, etc, mais les fichiers des apps elle-mêmes sont conservés. Dans le deuxième cas, on passe à l’option nuclaire, en dégageant toutes les apps. Là encore, vos données Outlook locales seront supprimées, donc à n’utiliser qu’en cas critique.

C’est donc un ensemble d’outils très pratiques et bien pensés que Microsoft distribue ici, et on les remercie bien bas de nous les proposer de façon si propre (hey, Adobe, si tu pouvais en faire autant, y’a plein de monde qui serait content).