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?
What version of JamfPro are you currently on?
What version of JamfPro are you currently on?
10.32.2-t1631979773
We are getting the same thing, but only on Monterey Test PC's.
Jamf Version - 10.32.2-t1631979773
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.
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?
Did you change anything or just retest?
Changed the one EA that was still had python in it.
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.
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.
Here is a short-term way to supress the pop-up warning.
https://grahamrpugh.com/2021/10/25/monterey-disable-python-2-deprecation-warnings.html
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 ?
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 ?
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.
@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 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
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.
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
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?
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"
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"
I'd update those calls to this:
LoggedInUser=$(scutil <<< "show State:/Users/ConsoleUser" | awk '/Name
&& ! /loginwindow/ { print $3 }' )
I'd update those calls to this:
LoggedInUser=$(scutil <<< "show State:/Users/ConsoleUser" | awk '/Name
&& ! /loginwindow/ { print $3 }' )
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?
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?
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
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?
I'd update those calls to this:
LoggedInUser=$(scutil <<< "show State:/Users/ConsoleUser" | awk '/Name
&& ! /loginwindow/ { print $3 }' )
Hi DBrowning, sorry for my late reply. I will give it a try and tell the result :)
Thanks a lot for your hint.
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?
LOGGEDIN=$(/bin/echo "show State:/Users/ConsoleUser" | /usr/sbin/scutil | /usr/bin/awk '/Name :/&&!/loginwindow/{print $3}')
Reply
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.