0 votes

Existe-t-il un moyen d'ajouter un élément de connexion dans le terminal sans déclencher une boîte de dialogue d'autorisation sur MacOS 10.14 et plus ?

Pour le contexte : Je travaille sur un script dont le but est d'installer une application spécifique et également de l'ajouter aux éléments de connexion de l'utilisateur. Ce programme peut avoir besoin d'être déployé sur un grand nombre de systèmes, il est donc souhaitable qu'il soit installé sans aucune entrée utilisateur sur la machine cible.

Actuellement, cela se fait via une commande du type osascript -e 'tell application "System Events" to make login item ...' qui fonctionne bien dans les versions de MacOS antérieures à 10.14. Cependant, dans les versions plus récentes, l'exécution de cette commande déclenche une boîte de dialogue demandant des autorisations d'automatisation (AppleEvents), ce qui empêche l'installation de s'exécuter sans surveillance.

Existe-t-il un autre moyen d'ajouter un élément de connexion qui ne nécessite pas d'autorisations supplémentaires, ou bien un moyen d'accorder l'autorisation requise sans l'intervention de l'utilisateur ?

2voto

Je n'ai pas beaucoup d'expérience dans l'administration/le déploiement de masse de scripts sur Jamf mais je suis certain que les liens suivants vous seront très utiles. Je crois que ce que vous recherchez est la façon de contourner les charges utiles de contrôle de la politique des préférences d'Apple (PPPC).

Veuillez consulter les ressources suivantes :

GitHub - homebysix

Document officiel d'Apple sur le PPPC

GitHub - Jamf

En gros, vous voulez déterminer ce que vous voulez explicitement mettre sur une liste blanche et préautoriser à l'aide de l'utilitaire de profil MDM et déployer le profil que vous avez créé avec la charge utile.

0voto

rybosome Points 1829

La solution que vous recherchez s'articule autour des éléments suivants SMLoginItemSetEnabled() . Il s'agit du remplacement moderne de la méthode dépréciée LSSharedFileListInsertItemURL() qui est utilisé par le Utilisateurs et groupes le volet des préférences du système.

Vous devrez créer deux petites applications. L'application "principale" sera responsable du lancement de votre charge utile. L'application "helper" sera lancée à la connexion par MacOS et devra lancer l'application "principale". (Si votre charge utile était quelque chose à laquelle vous aviez un accès source, vous n'auriez pas besoin d'une application "principale" distincte et pourriez simplement ajouter l'aide directement à votre application).

Il existe un certain nombre de tutoriels qui décrivent cela en détail. En voici une . Vous pouvez également utiliser un paquet Swift qui contient une grande partie du code standard pour vous.

Voici donc comment cela pourrait fonctionner :

  1. Votre script d'installation automatique exécute l'application principale (qui contient également l'application auxiliaire dans son paquet) une fois pour configurer le lancement à la connexion.
  2. À l'avenir, lorsque l'utilisateur se connectera, MacOS lancera l'assistant.
  3. L'assistant lance l'application principale.
  4. L'application principale utilise NSWorkspace pour lancer votre charge utile.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X