JamfManagementService and JamfDaemon needs to be updated

DBrowning
Valued Contributor II

Hey All, I'm getting this message and also one that says JamfDaemon need updating.  I've gone through all of my scripts and EAs to see which ones were calling/using Python and all have been resolved, but I'm still seeing this on new Monterey installs.  Any ideas where else I can look?

Screen Shot 2021-10-26 at 14.35.08.png

1 ACCEPTED SOLUTION

DBrowning
Valued Contributor II

Changed the one EA that was still had python in it.  

View solution in original post

26 REPLIES 26

AVmcclint
Honored Contributor

What version of JamfPro are you currently on?

DBrowning
Valued Contributor II

10.32.2-t1631979773

user-mgregory
New Contributor II

We are getting the same thing, but only on Monterey Test PC's.

Jamf Version - 10.32.2-t1631979773

 

DBrowning
Valued Contributor II

Started going through everything again this morning.  Found one EA that my previous searches didn't find using python.  I believe I'm good now.  Rebuilt a machine a couple times this morning and no longer seeing the popups.

Did you change anything or just retest?

DBrowning
Valued Contributor II

Changed the one EA that was still had python in it.  

nfroise
New Contributor

Went through all our EAs with a fine tooth comb and removed all with python code. I don't believe I have any python scripts now in our EAs but after two new enrolments (on Monterey) this morning, I am still seeing the popup "JamfDaemon" needs to be updated. Any ideas if there is a different root cause? thanks.

MacInTX
New Contributor II

I'm seeing the exact same prompt on my new Monterey installs while running Jamf PRO 10.34.1.  I went through each extended attribute and none use python.  

dstranathan
Valued Contributor II

tcandela
Valued Contributor II

I'm also getting the popup about JamfDaemon needs to be updated.

If I have EAs written in both

#!/bin/sh or #!/bin/bash 

Would these be a problem? They work fine.

Would python code be inside these scripts?

Or would i be able to easily see wich ones are python based on  the script not starting with #!/bin/sh or #!/bin/bash ?

DBrowning
Valued Contributor II

Its most likely there is a line in your script that is calling python that is causing the popup.  You'll want to take a look at all your EAs. MacMule has steps here that can help you easily download all your scripts and EAs to look through.

tcandela
Valued Contributor II

@DBrowning I took a look at that link and when I go to a users library I don't see the 

~/Library/PythonWrapper/promptedapps.plist

I don't even see the PythonWrapper folder 

DBrowning
Valued Contributor II

You'll want to download or look at all your scripts and EAs and see if any of them call python.  I believe the folder will only show items apps run from the device.  

tcandela
Valued Contributor II

So basically every time a RECON runs and goes through the Extension Attributes these 2 jamfdaemon or jamfmanagementservice warning will popup.

i don't see this PythoWrapper directory to get to the plist file to help pinpoint the possible cause =

~/Library/PythonWrapper/promptedapps.plist

 

Anonymous
Not applicable

Hi all, I face the same alert. We are using the "jamf depnotify deploy script", to install our Clients. Inside the script, there are some python calls. Is there a way to get rid of these calls and use the script anyway?

tcandela
Valued Contributor II

@Anonymouscopy and paste the python calls so we can see them

Anonymous
Not applicable

In Line 545 to 547 -> call to detect the current user

# After the Apple Setup completed. Now safe to grab the current user.
  CURRENT_USER=$(/usr/bin/python -c 'from SystemConfiguration import SCDynamicStoreCopyConsoleUser; import sys; username = (SCDynamicStoreCopyConsoleUser(None, None, None) or [None])[0]; username = [username,""][username in [u"loginwindow", None, u""]]; sys.stdout.write(username + "\n");')
  echo "$(date "+%a %h %d %H:%M:%S"): Current user set to $CURRENT_USER." >> "$DEP_NOTIFY_DEBUG"

DBrowning
Valued Contributor II

I'd update those calls to this: 

LoggedInUser=$(scutil <<< "show State:/Users/ConsoleUser" | awk '/Name :/ && ! /loginwindow/ { print $3 }' )

tcandela
Valued Contributor II

Will all python calls start with this = 

/usr/bin/python ?

So when I look through my uploaded scripts and EA I'll easily be able to spot python being used?

DBrowning
Valued Contributor II

All depends who wrote the script.  Some will use the full path some will use just python.  So you'd want to be looking for: 

python
/usr/bin/python

 

Anonymous
Not applicable

Hi DBrowning, sorry for my late reply. I will give it a try and tell the result :)

Thanks a lot for your hint.

tcandela
Valued Contributor II

How do I clear the JamfManagementService and JamfDaemon popups that previously appeared?   So when I test it will look like the popups never appeared and popups will appear if a python script was run?

gabester
Contributor III

I've been seeing this lately and it's annoying me and I decided to do something about it, which lead me to this thread, which lead me to search through my Jamf environment. I've got several scripts and EA that use python to find the logged in user, because that was once upon a time considered Apple's best practice according to Apple's own documentation - https://developer.apple.com/library/archive/qa/qa1133/_index.html - but it's apparently no longer updated, so does anyone know where to find the best current practice for determining logged in user? I'm familiar with the more traditional shell script ways of getting the logged in username, but I was trying to be a good apple... now I find out Apple's yet again moved the goalposts. 

Also need to dissect the DEPNotify config left by my predecessor since I see others here saying it's got python calls... This isn't going to be fun. My developers are already upset that built-in Python goes away in 12.3... my manager isn't going to be happy that our management tools need updating/modification because the mothership can't help themselves from pulling the rug out from under us (I know this has been forewarned for a long time, but they could have still incorporated an easy temporary bridge like when you run try to run git without it installed... 

Can anyone confirm whether installing my own python makes this warning go away, or will it prompt whenever it seens any python running through Jamf? 

DBrowning
Valued Contributor II
LOGGEDIN=$(/bin/echo "show State:/Users/ConsoleUser" | /usr/sbin/scutil | /usr/bin/awk '/Name :/&&!/loginwindow/{print $3}')



gabester
Contributor III

Thanks @DBrowning I'm more partial to

LOGGEDIN=$(/usr/bin/stat -f%Su /dev/console)

 

or

LOGGEDIN=$(/bin/ls -l /dev/console | cut -d" " -f4)