5 votos

¿Un método programático para desactivar todos los servicios de uso compartido?

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

Me gustaría que los servicios mostrados en la imagen a continuación estuvieran desactivados cuando ejecute el script. La solución debe ser compatible con Alfred, Keyboard Maestro u cualquier otra herramienta de productividad global.

Los servicios que me gustaría desactivar son:

Opciones de intercambio

Podría haber llegado a lo siguiente con un poco de búsqueda en Google:

Compartir archivos (activar/desactivar)

do shell script "/usr/sbin/AppleFileServer" contraseña "x" with administrator privileges
do shell script "/usr/bin/killall AppleFileServer" contraseña "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 comandos de terminal o scripts por lotes a scripts de Apple. Aquí hay una solución de AppleScript para aquellos interesados.)

6voto

TraFoO Puntos 11

Aquí hay un script de shell que desactiva los servicios, pero estoy trabajando en 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

2voto

dthrasher Puntos 10641

No olvides que puedes simplemente ejecutar tu AppleScript en la línea de comandos usando la herramienta osascript en lugar de incrustarlo en el script estilo < como sugiere Daniel [aquí](https://apple.stackexchange.com/users/9388/daniel).

``

Esto significa que puedes reutilizar el script que ya sabes 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 mencionado)

``

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X