¿Un método programático para deshabilitar todos los servicios de intercambio? -- applescript campo con sharing campo con script camp apple Relacionados El problema

A programmatic method for disabling all sharing services?


5
vote

problema

Español

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

Me gustaría tener los servicios que se muestran en la imagen de abajo desactivados cuando ejecuto el script. La solución debe ser compatible con Alfred, Maestro del teclado o cualquier otra herramienta de productividad global.

Los servicios que me gustaría deshabilitar son:

opciones de intercambio

Podría llegar a los siguientes con algunos Google:

Compartir archivos (ON / OFF)

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

Compartir internet (ON / OFF)

  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 terminales o los scripts por lotes a los scripts de Apple . Aquí hay un Apple Script Solution para los interesados).

Original en ingles

I'm seeking a programmatic method for disabling all the sharing services on a Mac. My preference is for an AppleScript or a shell script.

I'd like to have the services shown in the picture below disabled when I execute the script. The solution should be compatible with Alfred, Keyboard Maestro or any other global productivity tool.

The services I'd like to disable are:

Sharing options

I could come up with the following with some googling:

File sharing (on/off)

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

Internet Sharing (on/off)

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

(I would prefer terminal commands or batch scripts to apple scripts. Here's an apple script solution for those interested.)

        
       
       

Lista de respuestas

6
 
vote
vote
La mejor respuesta
 

Aquí hay un script 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   
 

Here's a shell script that turns off the services, but I'm working on finding a more direct solution:

#!/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 
 
 
     
     
2
 
vote

No olvide que puede simplemente ejecutar su AppleScript en la línea de comandos usando la herramienta osascript en lugar de incrustarla <<EOF Style dentro del script como Daniel sugiere .

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

  osascript ChangeSettings.scpt   

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

 

Don't forget you can simply execute your AppleScript at the command-line using the osascript tool rather than embedding it <<EOF style within the script as Daniel suggests.

That means you can reuse the script you know already works with a one line shell script:

osascript ChangeSettings.scpt 

(assuming ChangeSettings.scpt is the file in the current working directory containing the AppleScript you mentioned)

 
 
     
     

Relacionados problema

1  Sintaxis de comando de terminal de rizo de AppleScript  ( Curl terminal command syntax from applescript ) 
Quiero ejecutar un comando abcdefghijklmncurl en AppleScript que hace lo siguiente ( por esta pregunta / respuesta ): https://superuser.com/a/1054803/4711...

1  Mensajes AppleScript ¿No funciona bajo león de montaña?  ( Messages applescript not working under mountain lion ) 
Intenté agregar un AppleScript para ejecutar un comando específico cuando envío o recibo un mensaje en los mensajes en mi servidor, pero por alguna razón nunc...

1  ¿Puedo usar AppleScript para ir al final de un documento de texto?  ( Can i use applescript to go to the end of a text document ) 
Tengo una pregunta muy, muy básica: tengo un pequeño archivo AppleScript que limpia las etiquetas HTML en un documento de TextWrangler. En la última parada, m...

8  ¿Cuál es la forma más fácil de automatizar el registro en un sitio web?  ( Whats the easiest way to automate logging into a website ) 
Hay este sitio web. Necesito acceder a aproximadamente cada diez minutos. Y aparentemente fue diseñado en 1993, por sátistas. No hay una casilla de verificaci...

2  ¿Cuáles son algunos buenos recursos para aprender a AppleScript con Xcode 4.3.2?  ( What are some good resources for learning how to applescript with xcode 4 3 2 ) 
i Applescript bastante un poco y me gustaría comenzar a trabajar con Xcode 4.3.2, para que pueda ampliar la funcionalidad de las cosas que estoy escribiendo. ...

2  Ayuda de Script de correo  ( Mail script help ) 
Reenvío muchos correos electrónicos a Evernote y Nozbe (similar a Omnifocus), ya que trabajo para obtener mi bandeja de entrada a cero. Cuando estoy en mi iPh...

0  Convertir la acción del automático en AppleScript para bash script  ( Converting automator action in applescript to bash script ) 
Acabo de escribir una aplicación automática con AppleScript (junto con un par de líneas de bash) para iniciar FTP con un solo clic. Sin embargo, se ejecuta má...

3  ¿Es posible automatizar la entrada de calificaciones de estrellas y recuentos de juego para una canción idéntica / duplicada en iTunes?  ( Possible to automate entering star ratings and play counts for identical duplica ) 
Estoy en el proceso de reemplazar mi MP3 KPBS de baja calidad y LT; 192 KPBS MP3 en archivos MP3 o ALAC de 320 KPBS en iTunes. En este momento, mi rutina es...

8  Copiar texto formateado desde una página web a un cuadro de diálogo de entrada de AppleScript  ( Copying formatted text from a web page to an applescript input dialog ) 
Tengo un AppleScript que, simplificado, se ve así: ... display dialog "foo" default answer "" ... Uno de los usuarios de este script se ejecuta León. C...

0  ¿De dónde vaya el registro de eventos de AppleScript cuando se ejecuta en Lanzamiento?  ( Where does applescript event log go when run under launchd ) 
O, ¿cómo iniciar sesión desde un AppleScript (guardado como aplicación) y / o ver el registro de eventos? Se pueden encontrar ninguna de las declaraciones d...

0  Sistema de AppleScript Eventos Keystroke roto después de 10.9.4  ( Applescript system events keystroke broken after 10 9 4 ) 
Parece que la actualización de Mavericks reciente ha roto el comando de pulsación de pulsaciones en AppleScript, siempre que mi script llegue a ese punto, se ...

0  Quiero mostrar un archivo en un paquete de AppleScript, pero Shell Devuelve: archivo no encontrado  ( I want to show a file in an applescript bundle but shell returns file not foun ) 
Mi paquete de paquete: ABCDEFGHIJKLMNABCDEFGHIJKLMN2 Mi código: set bashFile to path to resource "reference.txt" set the reference_data to do shell scr...

1  AppleScript: Cadena hasta la fecha  ( Applescript string to date ) 
Estoy extrayendo diferentes formatos de fecha de una página web. e.g. Domingo 10 de septiembre de 2017 / 09/10/2017 / 10 de septiembre de 2017. En el eje...

2  ¿Cómo puedo crear un cuadro de diálogo de entrada de múltiples líneas usando AppleScript?  ( How can i create a multi line input dialog using applescript ) 
¿Cómo puedo crear un cuadro de diálogo de entrada de texto multiline usando AppleScript? La creación de un cuadro de diálogo de una sola línea es simple ... ...

2  Script de Apple para bloquear la computadora usando golpe  ( Apple script to lock computer using knock ) 
Hay una gran aplicación llamada golpe que le permite desbloquear su Mac haciendo tapping en su teléfono dos veces mientras está en su teléfono proximidad. ...




© 2021 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos


Licensed under cc by-sa 3.0 with attribution required.