Skip to main content
Question

Multi monitor script works locally, not through jamf policy


Forum|alt.badge.img+6

I have poured through all the threads and found a script that works locally to change the wallpaper of all monitors on a system if run locally. The script however, does not work when pushed through jamf. I get a successful message but not change in the wallpaper. The script I'm using is:

!/bin/bash

osascript -e 'tell application "System Events" to set picture of every desktop to ("/Users/shared/SISLogo/SIS_WP.jpg" as POSIX file as alias)'
exit 0
I have tried resetting permissions, using PPPC utility to ensure proper Jamf permissions. I get the user message when the script is run but no change to background. Anybody have an idea?

5 replies

mm2270
Forum|alt.badge.img+16
  • Legendary Contributor
  • 7880 replies
  • December 12, 2019

The osascript portion must be run as the logged in user. Since Jamf Pro runs all scripts as root, it's failing.

Try this modification:

#!/bin/bash

loggedinuser=$(stat -f%Su /dev/console)
loggedinuid=$(id -u "$loggedinuser")

/bin/launchctl asuser "$loggedinuid" sudo -iu "$loggedinuser" /usr/bin/osascript -e 'tell application "System Events" to set picture of every desktop to ("/Users/shared/SISLogo/SIS_WP.jpg" as POSIX file as alias)'
exit 0

Also, when posting any kind of script here, be sure to select/highlight the entire script and click the >_ button in the post editing toolbar, so it encloses it in the script markdown and formats it properly for the forums.


Forum|alt.badge.img+6
  • Author
  • Contributor
  • 22 replies
  • December 12, 2019

@mm2270 OMG thank you, thank you, thank you.
Out of curiosity on single monitor systems I had used the script:

!/bin/bash

sudo osascript -e 'tell application "Finder" to set desktop picture to POSIX file "/Users/shared/SISLogo/SIS_WP.jpg"'
exit 0

And it changed the wallpaper fine for the primary display. Why did the osascript work in this instance but not for multi monitors?


mm2270
Forum|alt.badge.img+16
  • Legendary Contributor
  • 7880 replies
  • December 12, 2019

If you're saying the second script above for single monitor systems worked as is when deployed from Jamf Pro, then I can't explain that. Generally speaking, when talking about most Applescript/osascript commands that manipulate the user space, they have to be run as the user and not as root. Maybe the single monitor instance operates a little differently, and root is able to make those changes. I'm not sure though.


Forum|alt.badge.img+6
  • Author
  • Contributor
  • 22 replies
  • December 13, 2019

Ok. So now I am unable to get the request for permission box to not appear on the user machine. I have created a pppc permission for jamf.app, jamf, and jamf agent with all permissions allowed. I even downloaded the github pppc for system events and still the dialog box pops up. I have heard others having this issue and it's possibly a bug with Jamf?? anybody think anything else?


Forum|alt.badge.img+8
  • Contributor
  • 58 replies
  • December 14, 2019

Have you looked at desktoppr with outset in stead of osascript? Less issues with PPPC imho.


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings