¿Un método programático para deshabilitar todos los servicios compartidos?

5

Estoy buscando un método programático para desactivar todos los servicios de uso compartido en una Mac. Mi preferencia es para un AppleScript o un script de shell.

Me gustaría que los servicios que se muestran en la imagen a continuación estén deshabilitados cuando ejecuto el script. La solución debe ser compatible con Alfred, Keyboard Maestro o cualquier otra herramienta de productividad global.

Los servicios que me gustaría inhabilitar son:

Podríallegaralosiguienteconunpocodegooglear:

Compartirarchivos(activar/desactivar)

doshellscript"/usr/sbin/AppleFileServer" password "x" with administrator privileges
do shell script "/usr/bin/killall AppleFileServer" password "x" with administrator privileges

Compartir Internet (activar / desactivar)

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.InternetSharing.plist
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.InternetSharing.plist        

( Preferiría los comandos de terminal o los scripts por lotes a los scripts de apple . Aquí hay un solución de script de Apple para los interesados.)

    
pregunta Kaushik Gopal 19.02.2012 - 18:51

2 respuestas

5

Aquí hay un script de shell que apaga los servicios, pero estoy trabajando para encontrar una solución más directa:

#!/bin/sh
osascript << HERE
tell application "System Preferences" to activate
tell application "System Events" to tell process "System Preferences"
    click menu item "Sharing" of menu "View" of menu bar 1
    delay 2
    tell window "Sharing" to repeat with x from 1 to 11
        if value of checkbox 1 of row x of table 1 of scroll area 1 of group 1 is 1 then click checkbox 1 of row x of table 1 of scroll area 1 of group 1
    end repeat
end tell
tell application "System Preferences" to quit
HERE
    
respondido por el Daniel 22.02.2012 - 14:17
2

No olvide que simplemente puede ejecutar su AppleScript en la línea de comandos utilizando la herramienta osascript en lugar de incrustarlo en el estilo <<EOF como Daniel sugiere .

Eso significa que puede reutilizar el script que ya sabe que funciona con un script de shell de una línea:

osascript ChangeSettings.scpt

(asumiendo que ChangeSettings.scpt es el archivo en el directorio de trabajo actual que contiene el AppleScript que mencionó)

    
respondido por el Kit Grose 22.02.2012 - 10:56

Lea otras preguntas en las etiquetas