Primero, debo decir que en este momento no estoy donde puedo ssh
en otra Mac para probar esto, sin embargo, lo voy a ofrecer de todos modos ya que creo que esto puede funcionar.
Algunas suposiciones de mi parte ...
- Cada uno de los sistemas a ser tocados tiene más de una cuenta de usuario.
- Utilizará las credenciales de administrador para modificar el archivo .plist de destino.
Notas:
Para tocar el archivo .plist de destino debajo de cada Cuenta, deberá usar sudo
y como tal cambiará el owner: group de el archivo de destino a root: wheel y deberá volver a cambiarse después de que se ejecute el comando defaults write ...
en el archivo de destino. Por lo tanto, la información de owner: group del archivo deberá ser determinada y almacenada en variables antes de ser tocada.
Si Google Chrome se está ejecutando en el momento en que se toca su .plist , es probable que los cambios no surtan efecto hasta que la aplicación se cierre y se vuelva a abrir. Además, dependiendo de la versión de OS X, el cambio puede sobrescribirse cuando se cierra la aplicación. Si este es el caso, necesita agregar código adicional para verificar y ver si la aplicación se está ejecutando y cerrarla antes de tocar su archivo .plist .
El siguiente bash script debe hacer lo que sea necesario.
#!/bin/bash
f="/Library/Preferences/com.google.Chrome.plist"
for d in /Users/*; do
if [[ -f $d$f ]]; then
og="$(ls -l "$d$f" | awk '{print $3":"$4}')"
defaults write "$d$f" DisablePrintPreview -boolean true
chown "$og" "$d$f"
fi
done