Posted on 01-09-2024 11:47 AM
Experimenting with Self Service and noting that if an application is installed, albeit I'm just testing with Chrome, through the Self Service app and then deleted it is not possible to reinstall the app through Self Service a second time. For Chrome, it initially displays Install which changes to Open when successfully installed but doesn't revert to Install if the app is removed. How can the option in Self Service be reinitialized?
Posted on 01-09-2024 11:53 AM
@VL Are you forcing an inventory update from your test Mac after removing Chrome? Your problem could be that Jamf Pro hasn't yet detected that the application is removed (the default Update Inventory policy on a new Jamf Pro install only runs once a week). You can test by running the command "sudo jamf recon" in Terminal.
01-09-2024 01:19 PM - edited 01-09-2024 01:20 PM
Posted on 01-10-2024 04:33 AM
Thanks for the feedback @sdagley and @easyedc.
I have updated the Execution Frequency to Ongoing, and I have been running the command sudo jamf recon (and jamf policy | manage even though I'm not really sure what these do), but at no point has the option to reinstall Chrome appeared in Self Serve.
One other thing I'd like to confirm given my trial and error approach to Jamf Pro, but when setting up an app in Mac Apps for deployment through App Store it still prompts for an Apple ID whereas if setting up through Jamf App Catalog it doesn't. Is this the normal/expected behavior?
Posted on 01-10-2024 07:23 AM
Can you share a screen shot of your policy? It's sometimes easier to show what you've set up.
As for jamf recon/jamf policy - those commands are part of the jamf binary. if you open terminal and run jamf help
jamf help
Usage: jamf verb [options]
verb is one of the following:
about Displays information about the jamf binary
bind Binds this computer to a directory service
bless Blesses a System or a NetBoot Server
changePassword Changes a local user's password
checkJSSConnection Checks the availability of the JSS
createAccount Creates a new local account on the system
createConf Creates a configuration file that the jamf binary uses to find the JSS
createSetupDone Ensures the Setup Assistant does not launch immediately on the next boot
createStartupItem Creates a startup script to contact the JSS
deleteAccount Deletes a local account from NetInfo or the local dscl database
deletePrinter Deletes a printer from the system
deleteSetupDone Causes the Setup Assistant to launch on the next boot
displayMessage Displays a message to the current user
enablePermissions Enables permissions on a volume
enroll Enrolls this computer with the JSS
fixByHostFiles Fixes the ByHost files
fixDocks Repairs docks that have question marks after certain OS Updates
flushCaches Flush cache files for the system and/or users
flushPolicyHistory Flush the policy history on the JSS
getARDFields Displays the ARD Fields on a volume
getComputerName Displays the computer name on a volume
help Displays this message or details on a specific verb
launchSelfService Opens the Self Service app
listUsers Lists all the users on the computer
log Log the IP address, action, and username to the JSS
manage Enforces the entire management framework from the JSS
mapPrinter Maps a printer
modifyDock Installs or removes items in all users docks
mount Mounts a file share
policy Checks for policies on the JSS
reboot Reboots the computer
recon Runs Recon to update the inventory in the JSS
removeFramework Removes the JAMF Binary and associated files from the computer
removeSWUSettings Remove settings that point SWU at internal servers
renewDeviceCert Renews the existing management framework device certificate
resetPassword Resets a local user account password (Warning: User keychain and FileVault 2 passwords may be affected. Use changePassword when current password is known)
runSoftwareUpdate Run Software Update
setARDFields Sets the ARD Fields
setComputerName Sets the computer name
setHomePage Sets the default home page for users
setOFP Sets the Open Firmware mode and password
startSSH Starts the ssh server
startup Checks the connection to the Jamf Pro server and triggers startup actions as defined in Jamf Pro > Settings > Computer Management > Check-In > Startup Script.
uninstall Uninstalls a package
unmountServer Unmounts a file server
updatePrebindings Updates the prebindings on a volume
version Prints the version of this application
Global Flags:
-displayJSSTraffic Displays the total network traffic between the jamf binary and the JSS
-randomDelaySeconds Delays a random amount of time before starting
Specify the maximum number of seconds as the next parameter
-showPID Prints the PID of the process
-stopConsoleLogs Stops logs from being sent to the console
-verbose Shows verbose events
jamf help <verb> will provide details on that verb
It will provide all the options that Jamf can run, as well as a brief detail about what it's doing. You can get deeper into options of each by doing jamf help [action]
jamf help recon
Usage: jamf recon
-saveFormTo Saves the contents of the HTTP form to a file
The following options allow you to specify inventory information for the computer:
-assetTag The asset tag of the computer
-endUsername The user name of the primary user
-realname The real name of the primary user
-email The email address of the primary user
-position The position (job title) of the primary user
-building The text representation of a building in the jSS
-department The text representation of a department in the JSS
-phone The phone number of the primary user
-room The room that the computer is in
-ldapServerID The JSS ID of the LDAP server to which the primary user belongs
-userID The user ID of the primary user's account in the LDAP server.
In your question, jamf recon forces the Mac to do an on-demand inventory update. Running jamf policy forces the Mac to check into jamf and look for any policies or tasks that are assigned and eligible to be run. Note, if the policy has already run on a policy configured as any thing other than "ongoing" the policy won't run until the history has been flushed.
Posted on 01-10-2024 09:11 PM
Are you deploying Chrome via "Jamf App Catalog"? I have noticed this behavior only with applications deployed via Jamf App Catalog, where as, If its a policy deployment, the issue does not seem to be there.
Not sure if its a bug or they take longer but would be great to confirm what method you're using.
Posted on 01-11-2024 04:53 AM
If you're using the Mac App Store deployment method, I've found it to be hit or miss over the years. In fact, there was a serious bug between Jamf and Apple that existed for years that impacted deploying through the MAS. I don't package 100% of the software I deploy, but I do use normal policies to deploy nearly all of my software. FWIW - there's a variety of tools out there for packaging software - look into things like autopkg/autopkgr (same tool, one is terminal, one is gui), installomator, or if the software is published at a fixed url, you can download a lot of software with a script that does a curl command to download and install the latest version so you never have to actually package anything. There's lots of ways to accomplish what you're after.
Posted on 01-11-2024 07:16 AM
@MikeyK, @easyedc, thanks for the feedback, though will confess to having got myself a bit confused given that I've mixed up two issues in this exchange.
Issue 1
There is the issue of installing an app through Jamf Self Service (JSS) which when deleted is not available for reinstallation through JSS again, i.e. the example app Chrome goes from Install > Open and then remains as Open when deleted. This app is installed having been set-up under Jamf App Catalog as opposed to App Store.
The scenario I'm trying to address is where an end user installs an app, mistakenly uninstalls the app and needs to be able to reinstall the app.
Issue 2
The installation of off-the-shelf apps, i.e. the kind of apps available through App Store, without the user requiring to create/user an Apple ID. JSS seems to be a solution to this. Having first set-up a three apps under Jamf App Catalog, two for Install automatically and one for Self Service, all was working well. When testing Evernote having set it up under both Mac App and Jamf App Catalog, it appears that Mac App is no more than a shortcut to App Store - complete with being prompted for an Apple ID - while Jamf App Catalog will install the app prompt free.
In essence my own testing has confirmed that our in-house deployment will be through Jamf App Catalog, to save users having to set-up and manage an Apple ID. Using Jamf App Catalog seems to be an easier, and obvious choice as otherwise users might as well go direct to the App Store.