Posted on 02-09-2018 08:14 AM
As you might know, zoom works perfectly when doing media sharing while you have a web conference.
Her now my issue:
When I try screen sharing and select "Share computer sound" (on the picture, lower left corner), it will ask the very first when doing this for admin credentials. Do you know how can grant the app the respective permissions in order to have working right away without asking for admin rights?
Thanks for your support.
Thomas
Posted on 02-13-2018 01:35 AM
I was able to track down the problem to an audio device which needs to get installed. So my question changes now to:
a) how do I get this audio device installed via Jamf?
or
b) how can make it happen that the Zoom app does not need admin rights in order to install the audio device?
Thanks
Thomas
Posted on 04-05-2018 07:46 AM
Are you installing the Zoom Client for IT Admins? IT installs with Admin rights.
Mass Deployment With Preconfigured Settings For Mac
Dave
Posted on 08-01-2018 05:36 AM
Hey @bmgsupport ,
Did Zoom for IT deployment help? I don't see any flags in this .plist about allowing audio?
Thanks,
Dev
Posted on 12-04-2019 06:46 AM
Did anyone figure out how to set/install this audio device via Jamf? Seems to be an issue when deploying the Zoom IT package via patch management.
https://support.zoom.us/hc/en-us/articles/115001799006-Mass-Deployment-with-Preconfigured-Settings-for-Mac
Posted on 03-03-2020 12:33 PM
So I figured this out.
The audio driver lives in /Library/Audio/Plug-Ins/HAL/ once installed. They distribute it with the application in /Applications/zoom.us.app/Contents/PlugIns/ZoomAudioDevice.driver.
When you supply your admin password, it looks to be simply copying the driver from the /Applications directory in to the HAL directory. You can push out the driver via MDM with
sudo cp -R /Applications/zoom.us.app/Contents/PlugIns/ZoomAudioDevice.driver /Library/Audio/Plug-Ins/HAL/
Doing this will allow audio to share correctly and users won't be prompted for admin credentials. No idea why Zoom doesn't put this in their documentation.
Posted on 03-13-2020 10:53 PM
Currently working on this issue as well with a deployment to my users. We are using RingCentral Meetings which is run on the Zoom platform so replace Zoom with anywhere you see RingCentral.
The RingCentral Drivers are located in /Applications/RingCentral Meetings.app/Contents/PlugIns/ZoomAudioDevice.driver which needs to be copied to the /Library/Audio/Plug-Ins/HAL/ directory.
Same cp command as above
sudo cp -r /Applications/RingCentral Meetings.app/Contents/PlugIns/ZoomAudioDevice.driver /Library/Audio/Plug-Ins/HAL/
The only problem with this is you have to reboot to get it working. You can solve that by killing coreaudiod process, but then also you have to restart RingCentral Meetings/Zoom so I added a command to kill RingCentral Meetings.
If you would like to avoid rebooting use the commands:
sudo kill $(ps -eaf | grep "RingC" | grep -v grep | awk '{print $2}')
sudo killall coreaudiod
Then open RingCentral Meetings again and you should be good to go.
Posted on 03-15-2020 02:53 PM
Nice share Kyle_vdk . I just set the policy to run once at login as I don't want to inadvertently kill the app in case a user is in a meeting. Alternatively, could limit to outside of known business hours.
Posted on 06-09-2020 09:25 AM
I ran the command and it did copy the HAL folder over but it still asks me for the admin credentials even after a reboot.
Am I missing a step?
Posted on 06-09-2020 10:23 AM
It looks like the permission did not take so I changed it to RnW for everyone and now it is working.
Posted on 06-09-2020 12:29 PM
@supersizeal - Was all you needed to change, is the -RnW in the command? or do you need "everyone" in there somewhere?
Also, @Kyle_vdk - Can I simply change "RingC" to "zoom" or should it be "zoom.us"?
Posted on 06-09-2020 12:40 PM
I set Everyone RnW permissions and then I used composer to build the pkg.
Posted on 07-03-2020 04:18 AM
I'm testing an zoom.us on MacOS 10.15.5 and have the some isue with the prompt for Admin credentials when sharing with computer audio.
For me it seems to work with a script based on the suggestion from 'Kyle_vdk'
sudo cp -r /Applications/RingCentral Meetings.app/Contents/PlugIns/ZoomAudioDevice.driver /Library/Audio/Plug-Ins/HAL/
But the kill & kill all comands didn't work for me - as long as I did a reboot. So I figured that I can avoid the reboot reloadinf the kernalextensions using the following commands:
sudo kextunload /System/Library/Extensions/AppleHDA.kext
sudo kextload /System/Library/Extensions/AppleHDA.kext
It may be a good option to use both in an if-clouse prrofing that there is no ZoomAudioDevice.driver like
if [[ ! -e /Library/Audio/Plug-Ins/HAL/ZoomAudioDevice.driver ]]; then
sudo kextunload /System/Library/Extensions/AppleHDA.kextsodo kextload /System/Library/Extensions/AppleHDA.kext
sudo kextunload /System/Library/Extensions/AppleHDA.kext
sudo kextload /System/Library/Extensions/AppleHDA.kext
fi
Posted on 01-06-2021 11:17 AM
This seemed to work for me:
#!/bin/sh
cp -R /Applications/zoom.us.app/Contents/PlugIns/ZoomAudioDevice.driver /Library/Audio/Plug-Ins/HAL/
sudo killall coreaudiod
Posted on 01-06-2021 04:09 PM
@ChrisTech This worked for me
Posted on 01-11-2021 08:06 AM
I'm still having issues with this problem. I put the script from @ChrisTech in Self Service that users have to manually kick off to fix the issue, which does work.
My problem is that previously, I was using the following script to automatically push out Zoom updates: https://gist.github.com/talkingmoose/5336e69480d87014a4c2ea1d6ec0ea4e
That script worked perfectly, even if the user was actively running a Zoom session, Zoom would just prompt the user to restart Zoom to finish the update, but they had the option to cancel the Zoom restart in case they were in the middle of teaching class. Now, that update removes the ZoomAudioDevice.driver from /Library/Audio/Plug-Ins/HAL/, putting us back at square one and the user then has to manually go to Self Service and run the @ChrisTech script again.
I've tried adding the script lines
#!/bin/sh
cp -R /Applications/zoom.us.app/Contents/PlugIns/ZoomAudioDevice.driver /Library/Audio/Plug-Ins/HAL/
sudo killall coreaudiod
to the Zoom update script (https://gist.github.com/talkingmoose/5336e69480d87014a4c2ea1d6ec0ea4e) but it still prompts for admin credentials when you try to share audio. It seems like the problem with the audio driver getting deleted still exists in the latest Zoom version 5.4.9.
Basically, I'm left with not being able to automatically push out Zoom updates, instead my users will have to manually install the update from Zoom in Self Service, then open the Zoom app, and finally manually run the audio driver fix script from Self Service.
Any ideas? This is the combined script:
#!/bin/zsh
:<<'ABOUT_THIS_SCRIPT'
Written by:William Smith
Professional Services Engineer
Jamf
bill@talkingmoose.net
https://gist.github.com/talkingmoose/5336e69480d87014a4c2ea1d6ec0ea4e
Originally posted: March 21, 2020
Purpose: Downloads and installs the latest available Zoome Client
for Mac directly on the client. This avoids having to manually
download and store an up-to-date installer on a distribution server
every month.
Instructions: Optionally update the sha256Checksum value with a
known SHA 256 string. Run the script with elevated privileges.
If using Jamf Pro, consider replacing the sha256Checksum value
with "$4", entering the checksum as script parameter in a policy.
Except where otherwise noted, this work is licensed under
http://creativecommons.org/licenses/by/4.0/
"Do not obey in advance."
ABOUT_THIS_SCRIPT
# temporary file name for downloaded package
pkgFile="Zoom.us.pkg"
plistfile="us.zoom.config.plist"
# this is the full download URL to the latest version of the product
# https://support.zoom.us/hc/en-us/articles/115001799006-Mass-Deployment-with-Preconfigured-Settings-for-Mac
url="https://zoom.us/client/latest/ZoomInstallerIT.pkg"
# create temporary working directory
echo "Creating working directory '$tempDirectory'"
workDirectory=$( /usr/bin/basename $0 )
tempDirectory=$( /usr/bin/mktemp -d "/private/tmp/$workDirectory.XXXXXX" )
# change directory to temporary working directory
echo "Changing directory to working directory '$tempDirectory'"
cd "$tempDirectory"
# create plist file
echo "<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ZAutoUpdate</key>
<false/>
</dict>
</plist>" >> us.zoom.config.plist
# download the installer package
echo "Downloading package $pkgFile"
/usr/bin/curl "$url"
--location
--silent
--output "$pkgFile"
# run the installer package
/usr/sbin/installer -pkg "$pkgFile" -target /
# remove the temporary working directory when done
/bin/rm -Rf "$tempDirectory"
echo "Deleting working directory '$tempDirectory' and its contents"
# fix audio driver bug introduced by 5.4.7+
cp -r /Applications/zoom.us.app/Contents/Plugins/ZoomAudioDevice.driver /Library/Audio/Plug-Ins/HAL/
killall coreaudiod
exit $exitCode
Posted on 01-11-2021 10:56 AM
@McLeanSchool i have the same issue and i am not good at scripting so i just made the update policy run 2 scripts. I have the updater run then the audio install in the same policy.
Posted on 01-11-2021 11:17 AM
@indeskize I didn't even think about putting both scripts in a single policy, good idea! I'll give that a try and see if it works.
Posted on 01-11-2021 01:45 PM
Hey @McLeanSchool
I monitored what was modified when we enter admin creds for the zoom audio driver. It looks like it copies that directory (as you know) and it also modifies this plist:
/Library/Preferences/Audio/com.apple.audio.SystemSettings.plist
You can see it creates a new aggregate audio device that you can see in the /Applications/Utilities/Audio MIDI Setup.app utility (in screenshot). Could it be that zooms installer used to add this audio device during the package install process while it had admin rights and now it doesn't? I'm not going to try and edit that com.apple.audio.SystemSettings.plist preference file.
Posted on 01-11-2021 02:14 PM
I was working with
#!/bin/sh
cp -R /Applications/zoom.us.app/Contents/PlugIns/ZoomAudioDevice.driver /Library/Audio/Plug-Ins/HAL/
sudo killall coreaudiod
last night and on one machine needed to restart the computer to gain the share audio functionality.
Posted on 01-21-2021 10:55 AM
I'm seeing some machines where the script completes (copies the files) however the ZoomAudioDevice does not show up in the list of Audio Devices.
a restart does not fix, however if I run the script the second time then the audio device is shown.
Thoughts?
Posted on 01-24-2021 07:05 PM
Anyone know how to enable the Optimize for Video Clip option without asking for Admin credentials?
Posted on 02-05-2021 09:32 AM
@atomczynski I found that simply 'killall coreaudio' was hit or miss as you've noticed. I replaced 'killall coreaudio' with this function (slightly tweaked concept I pulled from a Zoom installer post-install script). Take it with a grain of salt, but so far it's been working well for me.
### Add function to your script
function kill_coreaudiod()
{
# Set variable to all PIDs of /usr/sbin/coreaudiod
# --invert-match to remove PID for the grep command itself
coreaudiod_pid=$( ps -ax -o pid -o command | grep "/usr/sbin/coreaudiod" | grep --invert-match grep | awk '{print $1}' )
for each_pid in $coreaudiod_pid
do
if [[ $each_pid -gt 0 ]]
then
kill -9 $each_pid
fi
done
}
### replace 'killall coreaudio' with call to function
kill_coreaudiod
Posted on 02-05-2021 09:36 AM
fwiw, here's my full script... obviously test & use at your own risk!
#!/bin/bash
### Zoom audio device driver repair
### 2021.01.15 JW
### There is a packaging or broken script issue in recent Zoom installer(s?)
### where /Library/Audio/Plug-Ins/HAL/ZoomAudioDevice.driver is either broken or failing to install.
### Either way, users are being prompted for admin pass to install the audio driver when attempting to share desktop or videos 'with sound'
### This should hopefully resolve, though resetting coreaudio sometimes seems hit or miss, take with a grain of salt.
### more details found here (see dates 2021.01.11)
### https://www.jamf.com/jamf-nation/discussions/27069/zoom-app-asks-for-admin-credentials-when-trying-to-share-computer-audio
### if this is part of a re-install, let's give installer a few extra seconds to finish up
sleep 10
### concept below pulled from factory ZoomInstallerIT.pgk post-install script:
### However an issue I see is coreaudiod was not reliably being reset,
### I reworked Zoom's method for grabbing PID and it seems to work much better now! -JW
### Note an easy clue as to whether this is working or not is to have open /Applications/Utilities/Audio MIDI Setup...
### ...if the ZoomAudioDevice loads we're golden... otherwise back to the drawing board.
function kill_coreaudiod()
{
# Set variable to all PIDs of /usr/sbin/coreaudiod
# --invert-match to remove PID for the grep command itself
coreaudiod_pid=$( ps -ax -o pid -o command | grep "/usr/sbin/coreaudiod" | grep --invert-match grep | awk '{print $1}' )
for each_pid in $coreaudiod_pid
do
if [[ $each_pid -gt 0 ]]
then
kill -9 $each_pid
fi
done
}
AudioPluginPath=/Library/Audio/Plug-Ins/HAL
audioPluginfile=/Applications/zoom.us.app/Contents/Plugins/ZoomAudioDevice.driver
st=$(kextstat -b zoom.us.ZoomAudioDevice | grep zoom.us.ZoomAudioDevice 2>&1)
if [[ $st = *zoom.us.ZoomAudioDevice* ]] ; then
echo "audio device is loaded, skipping"
exit 1
else
#(re)install audio driver
if [[ -d "$AudioPluginPath/ZoomAudioDevice.driver" ]]; then
rm -rf "$AudioPluginPath/ZoomAudioDevice.driver"
fi
cp -rf "$audioPluginfile" "$AudioPluginPath"
### reset coreaudiod ...see function & notes on Audio MIDI setup
kill_coreaudiod
sleep 5
fi
Posted on 04-12-2021 05:01 PM
Your suggestions were really helpful. I cleaned up the function and corrected syntax.
function kill_coreaudiod()
{
# Set variable to all PIDs of /usr/sbin/coreaudiod
# --invert-match to remove PID for the grep command itself
coreaudiod_pid=$( ps -ax -o pid -o command | grep "/usr/sbin/coreaudiod" | grep --invert-match grep | awk '{print $1}' )
for each_pid in $coreaudiod_pid
do
if [[ $each_pid -gt 0 ]]
then
kill -9 $each_pid
fi
done
}
When comparing int values, use -gt -lt -eq. The > character is for string values. It may work here, but I wouldn't chance it. Correct way to use for X in Y is to to call out the $coreaudiod_pid variable. Iterate through $each_pid, not coreaudiod_pid
Posted on 04-13-2021 01:15 PM
@jfilice_at_csumb Much cleaner, thanks! I've updated my script above for anyone reading along. I see the latest Zoom installer is once again correctly updating the ZoomAudioDevice.driver, so hopefully this script is no longer necessary (but just in case...). Thanks again!
Posted on 04-20-2021 12:18 PM
@jonw thanks for the update. Off the back of your comment, I have also tested the enterprise installation package and now seeing it's no-longer prompting for admin credentials when sharing audio for the first time after install/update.
Great to see the installer does the work for us!
Posted on 02-04-2022 10:16 AM
@petestanley I took over apple / jamf duties very recently. Yesterday I started getting tickets for this same issue. Can you walk me thru how this was resolved? It's happing in Big Sur, Catalina. Zoom.us 5.9.3 (4239) is the version installed.
Thank you!
Posted on 02-04-2022 10:40 AM
The short answer is you need to install the ZoomAudioDevice.driver (zoom.us.app/Contents/Plugins/ZoomAudioDevice.driver) into /Library/Audio/Plug-Ins/HAL/. Then restart /usr/sbin/coreaudiod.
I accomplished this by building a custom PKG: Extracted the ZoomAudioDevice.driver from ZoomInstallerIT.pkg and post install script based on jonw to kill/restart coreaudiod.
Posted on 02-04-2022 10:47 AM
If you haven't tried it, I highly recommend Suspicious Package for inspecting packages and extracting components.
Posted on 02-04-2022 04:11 PM
@JasonAtCSUMB @JM
What Jason said. Suspicious Package is the best! Thought to be honest, I've not bundled my own script lately as Zoom eventually fixed the issue and I've had no complaints... either that or my previously deployed copies of /Library/Audio/Plug-Ins/HAL/ZoomAudioDevice.driver are simply holding down the fort? I'd have to do some blank slate testing to find out if they broke their post-install script again. One other minor tidbit is I always deploy the ZoomInstallerIT.pkg (not the one from the big DOWNLOAD button on their site). Good luck!
Posted on 02-07-2022 10:19 AM
Good morning gentleman,
I'm still unable to install
zoom.us.app/Contents/Plugins/ZoomAudioDevice.driver) into /Library/Audio/Plug-Ins/HAL/.
Any thoughts? Am I missing something?
Thank you!
Posted on 02-07-2022 12:13 PM
@JM What did you try? As Jason mentioned above, all it boils down to is that the driver gets into /Library/Audio/Plug-Ins/HAL by whatever means necessary & that coreaudiod is restarted in order to load the driver.
I just tested a hand install of the latest ZoomInstallerIT.pkg 5.9.3 (4239) and it does indeed install the driver, so no workarounds should be necessary. I tested my script as well (again I'm no longer using it) and it's still functioning in Big Sur. Are you positive you're downloading the 'ZoomInstallerIT.pkg' not 'Zoom.pkg' ?
Posted on 02-07-2022 12:31 PM
@jonw Yes I have pushed out the driver from Jamf following normal process 1st. I then pushed out the script. Nothing happened. I then after 45 min or so I pushed out the ZoomInstalledIT.pkg thinking done deal it should work. Still nothing. I'm thinking the device should be removed from the "scope" or flushed out of a cache, something similar to how you would remove a device from SCCM in order to get an install to work after a failed attempt.
Posted on 02-07-2022 02:03 PM
@JM I'm sorry I can't help with your Jamf config & deployment issues, but what I can definitively say is the current ZoomInstallerIT.pkg 5.9.3 (4239) is working as intended at the moment. No script and no extracted driver workaround or any other monkey business required. Hang in there, you'll work it out I'm sure! Just use this installer (see pic) found here: https://zoom.us/download
Posted on 05-14-2021 09:48 AM
Greetings,
I am using the script below with the standard zoom installers.
On zoom Version 5.6.4 (765) standard and M1
and it is working for my fleet. Staff sign into the app with their company Google account.
#!/bin/bash
### Zoom audio device driver repair
### 2021.01.15 JW - update Buck Crockett 05/15/2021 added cleaned up the function from jfilice_at_csumb
### There is a packaging or broken script issue in recent Zoom installer(s?)
### where /Library/Audio/Plug-Ins/HAL/ZoomAudioDevice.driver is either broken or failing to install.
### Either way, users are being prompted for admin pass to install the audio driver when attempting to share desktop or videos 'with sound'
### This should hopefully resolve, though resetting coreaudio sometimes seems hit or miss, take with a grain of salt.
### more details found here (see dates 2021.01.11)
### https://www.jamf.com/jamf-nation/discussions/27069/zoom-app-asks-for-admin-credentials-when-trying-to-share-computer-audio
### if this is part of a re-install, let's give installer a few extra seconds to finish up
sleep 10
### concept below pulled from factory ZoomInstallerIT.pgk post-install script:
### However an issue I see is coreaudiod was not reliably being reset,
### I reworked Zoom's method for grabbing PID and it seems to work much better now! -JW
### Note an easy clue as to whether this is working or not is to have open /Applications/Utilities/Audio MIDI Setup...
### ...if the ZoomAudioDevice loads we're golden... otherwise back to the drawing board.
function kill_coreaudiod()
{
# Set variable to all PIDs of /usr/sbin/coreaudiod
# --invert-match to remove PID for the grep command itself
coreaudiod_pid=$( ps -ax -o pid -o command | grep "/usr/sbin/coreaudiod" | grep --invert-match grep | awk '{print $1}' )
for each_pid in $coreaudiod_pid
do
if [[ $each_pid -gt 0 ]]
then
kill -9 $each_pid
fi
done
}
AudioPluginPath=/Library/Audio/Plug-Ins/HAL
audioPluginfile=/Applications/zoom.us.app/Contents/Plugins/ZoomAudioDevice.driver
st=$(kextstat -b zoom.us.ZoomAudioDevice | grep zoom.us.ZoomAudioDevice 2>&1)
if [[ $st = *zoom.us.ZoomAudioDevice* ]] ; then
echo "audio device is loaded, skipping"
exit 1
else
#(re)install audio driver
if [[ -d "$AudioPluginPath/ZoomAudioDevice.driver" ]]; then
rm -rf "$AudioPluginPath/ZoomAudioDevice.driver"
fi
cp -rf "$audioPluginfile" "$AudioPluginPath"
### reset coreaudiod ...see function & notes on Audio MIDI setup
kill_coreaudiod
sleep 5
fi