I was having problems with the new Quick Add package that I created after we updated to Jamf Pro 10.4. It seems that there is a bug in the Scripts>postinstall script.
I had to open the newly created Quickadd package in Composer
Scripts>postinstall scroll down to the "Use the correct binary for the os version," There is a command line missing - in my QuickAdd it is line 54. I have attached a screen shot /bin/mkdir -p /usr/local/bin
Once that command was entered, and the QuickAdd was saved, I was back in business.
I hope this helps others!
I should have indicated the symptoms of the problem
Unable to use jamf commands in terminal -- Jamf command not found
Jamf Remote indicated
Failed to symlink JAMF The file "jamf" couldn't be saved in the folder "bin".
Failed to symlink JAMFAgent The file "jamfAgent" couldn't be saved in the folder "bin".
I have the same issue after enrollment, the Jamf command does not function and I need to run the binary directly. It does not matter if I use the QuickAdd package or just install the MDM profile, same issue. I did notice that this issue does not exist when using Casper Imaging.
This issue was noticed in our environment following upgrade to 10.4.1 exactly as noted above by the original poster. Systems were enrolling correctly to Jamf PRO but had no access to utilize the Jamf binary afterward. All commands would fail. Upon comparing the newly generated QuickAdd package to our prior version QuickAdd package, we found that the mkdir command for /usr/local/bin was simply not present in the default postflight script included in the QuickAdd package by Recon 10.4.1. Adding that single line into the script resolved the issue for us. Had to removeFramework and delete the botched symlink on test units in order to get a clean test with the new, modified package. The resulting QuickAdd has worked for us consistently and provided a Jamf binary that is correctly accessible and functional for the end-user. Great catch @KAD! Thank you for posting your experience. You pointed us to exactly the right spot to quickly resolve this.
Anyone else seeing:
jamf[1120:8794] CFNetwork SSLHandshake failed (-9807)
When running a jamf recon on a workstation with a modified quickadd.pkg as noted above?
I imaged three machines, one with the original quickadd, one with a modified quickadd and one enrolled via DEP. Only the modified quickadd.pkg is giving the noted error on a recon.
Just checking with JAMF supported about this.
Thanks for this thread! Updated to 10.4.1 today and was having this issue. Adding the line to the quickadd package fixed it. I also created a policy that runs on the machines that had the faulty quickadd done on them that removes the bad /usr/local/bin symlink, then installs the working quickadd, all is golden
For anyone seeing this,
You need to remove the already in place folders in /usr/local/jamf then re-run the quick-add package. If you dont then it wont be able to re-add the folders etc. You should also probably remove the /Library/Application Support/Jamf folder. Though this will re-appear immediately
I also removed the computer from the JSS just to make sure.
I've just created script to fix this on enrollment instead of modifying each quickadd.pkg. This seems to be working for me.
#!/bin/bash # check for symlink if [ -L "/usr/local/bin" ] ; then rm "/usr/local/bin" mkdir "/usr/local/bin" ln -s "/usr/local/jamf/bin/jamf" "/usr/local/bin/jamf" ln -s "/usr/local/jamf/bin/jamfAgent" "/usr/local/bin/jamfAgent" chown -R root:wheel "/usr/local/bin" fi
So, if we indeed go and "fix" this with one of the methods listed, what happens when Jamf actually fixes it? Will the fixed dir just continue to work?
Don't want to have to track down all this mess if we make a work-around...
This is one of the reasons we stopped making QuickAdd packages years ago, and we restrict the ability to do so as well.
We send techs to the https://server.domain.com:8443/enroll page instead.
We have deferred the MDM User Allowed Enrollment workflow (*) to macOS 10.14 and might defer it further (Jamf can provide the MySQL steps).
So new enrollments do not show the PI-005852 issue in our environment.
# ls -lF /usr/local | grep bin drwxr-xr-x 6 root wheel 192 Jul 23 11:48 bin/
# ls -lF /usr/local/bin/ | grep jamf lrwxr-xr-x 1 root wheel 24 Jul 20 10:49 jamf@ -> /usr/local/jamf/bin/jamf lrwxr-xr-x 1 root wheel 29 Jul 20 10:53 jamfAgent@ -> /usr/local/jamf/bin/jamfAgent
(*) Ask your Jamf rep, deferring MDM User Allowed Enrollment workflow to a later macOS version is fully supported.
After today's <redacted> testing, we are definitely going to defer the MDM User Allowed Enrollment workflow to macOS 10.15.
As mentioned earlier, ask your Jamf rep, deferring MDM User Allowed Enrollment workflow to a later macOS version is fully supported.
I believe 10.6.0 has addressed it but didnt make it into release notes (as of today at least). See my post here https://www.jamf.com/jamf-nation/discussions/28764/jamf-quickadd-symlinks-usr-local-bin-causing-install-problems-for-other-apps#responseChild169545
Having more issues with the QuickAdd package for enrollment. Really really annoying. I can enroll OK using URL, but back to having "unmanaged" Macs if I use a new QuickAdd.
Re-opened my case with Jamf.
I'm trying this on Mojave beta and wasn't able to enroll via the URL (which doesn't seem to visibly download a quickadd package - it just adds the policy certs and goes from there...), so I upgraded to 10.6.0 and still can't enroll my machine. I thought this might have been a mojave issue, but it looks like it's more of a Jamf Pro issue then? I'll try the script by @ubcoit and see if making the /usr/local/bin folder and chown'ing it to root:wheel helps.
I just realized that the script from @ubcoit won't work for me. What I'm observing is that aside from downloading the certs, nothing else happens. No files are downloaded and no
/usr/local/jamf folder is created, so there's nothing to symlink.
To clarify, I'm experiencing this issue on my QA (non-production) JAMF Pro server, which is running 10.6.0.
My production JAMF Pro server, which runs 10.3.1, is not exhibiting this behavior.
I have an issue where the computer enrolls, but it shows up on the JSS as [No Name]. Yet the computer has the correct name when i check the computer.
Yet, we where using it yesterday with no problem... it just stop working.
This is a big problem because of how we assign policies, config profiles and software.
This really needs to be fixed.
So ... I filed a ticket and JAMF closed it as a known issue. The "work around" is to create a quickadd package which doesn't work half the time.
I've added a fresh Mojave-installed mac to my QA environment running JAMF Pro 10.7.1 and after installing the CA Cert and the MDM Profile that get fed to my system by the web server, nothing else happens. You'd figure they'd've fixed this by 10.7.x, no?