Microsoft Teams forced Auto-Start for all Users

walkeri3rd
New Contributor III

I have been asked to create a method of forcing Microsoft Teams to start for all users regardless. With assistance I have created a .plist that is added to the LaunchAgent that forces Microsoft Teams to start for a user on first login and therefor after. When I manually add the .plist to the LaunchAgent for a user it works as required. I have packaged the .plist with Composer and now want to apply it to users. 

Looking for some direction. Thanks

DMG has been created and added to Jamf Admin set to FEU = yes

 

<?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>Label</key>

                <string>com.microsoft.teams</string>

                <key>ProgramArguments</key>

                <array>

                                <string>/usr/bin/open</string>

                                <string>/Applications/Microsoft Teams.app</string>

                </array>

                <key>RunAtLoad</key>

                <true/>

</dict>

</plist>

2 REPLIES 2

AJPinto
Honored Contributor III

Is there a reason you are not turning this in to a .mobileconfig and uploading it in to JAMF or using a Applications & Custom Settings payload and deploying it as a configuration profile? 

 

Do to it with policy like you are doing. You probably want to package it as a .dmg.

  • Put the files where they need to go or upload your plist that your teams install is using and add them to JAMF Computer, then select build as .DMG
  • When you upload it to JAMF use JAMF Admin, and index the DMG.
  • In Options check FEU which will replace any variables like your user directory with that of the logged in user.

 

To do this with a .pkg

  • You will need to put the plist in a shared location and build the package with JAMF admin
  • Add a post install script to the package or policy to move the plist from the shared location to where it needs to go.
    • This scipt will also need be able to tell who the logged in user is. If no one has logged in it WILL FAIL.
    • Getting this to work on checkin will be trickey, and apple is retiring the login/log out hooks so don’t rely on those.

Basically, this will put it where it needs to go. It probably won’t take effect until the user logs in again after the policy runs since it is RunATLoad

(I just noticed you are already doing the .dml and FEU/FUD stuff so I redacted that but left it incase it helpful for someone else)

All of this is very sloppy for a plist and will likely have a lot of consistency issues. This is also not manageable. Someone can just change the setting as you are not “forcing it”. If you need to remove it you have to use a second policy to do it, and good luck changing/updating anything as each of those will need their own policies. Finally forget any kind of version control or knowing which Mac has what settings applied by that plist if you have multiple versions of it.

 

How I would do it is taking your plist and shove it in a Configuration Profile using Applications & Custom Settings. Set the Level as User instead of system, and set the Distribution Method to Install Automatically. This will also manage the setting, and easily updateable if you need to change something. If you are new to MacOS, a Configuration Profile is basically the closest thing Apple/JAMF has to GPO. If you would do something with GPO on Windows, use a Configuration Profile in JAMF.

 

you can also turn your json plist in to a xml mobile config and upload it directly in to JAMF as a configuration profile. You wont have as much control over modifying that as using Applications & Custom Settings but it will get the job done.

 

 

 

 

This may be useful to you.

https://docs.microsoft.com/en-us/deployoffice/privacy/mac-privacy-preferences

https://docs.jamf.com/technical-articles/Deploying_Custom_Configuration_Profiles_Using_Jamf_Pro.html

 

walkeri3rd
New Contributor III

Thanks for getting back. So I followed your advice by adding the Plist to the Application & Custom Setting Payload, but I am not seeing you this Plist is getting to the Users LaunchAgent folder. Even a bigger question is how does the LaunchAgent fold get created? Had to create one under Preference folder prior to adding the .Plist to it.