Jamf Pro - Self Service

VL
New Contributor III

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?

7 REPLIES 7

sdagley
Esteemed Contributor II

@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.

easyedc
Valued Contributor II

What is your Execution Frequency on the policy? Even if inventory update runs and shows the App no longer installed, if the frequency isn't on-going, it will never show up in Self Service again until the policy is flushed from that computer's policy history.

VL
New Contributor III

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?

easyedc
Valued Contributor II

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. 

MikeyK
New Contributor III

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.

easyedc
Valued Contributor II

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.

VL
New Contributor III

@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.

 

Screenshot 2024-01-11 at 14.38.33.png

Screenshot 2024-01-11 at 14.38.55.png

Screenshot 2024-01-11 at 15.07.11.png