Un metodo programmatico per disabilitare tutti i servizi di condivisione?

5

Sto cercando un metodo programmatico per disabilitare tutti i servizi di condivisione su un Mac. La mia preferenza è per un AppleScript o uno script di shell.

Mi piacerebbe avere i servizi mostrati nella foto sotto disabilitato quando eseguo lo script. La soluzione dovrebbe essere compatibile con Alfred, Keyboard Maestro o qualsiasi altro strumento di produttività globale.

I servizi che vorrei disabilitare sono:

Potreitrovareciòchesegueconunpo'digooglatura:

Condivisionefile(on/off)

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

Condivisione 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        

( Preferirei comandi terminali o script batch per script Apple . Ecco un soluzione per script di apple per chi fosse interessato.)

    
posta Kaushik Gopal 19.02.2012 - 18:51
fonte

2 risposte

5

Ecco uno script di shell che disattiva i servizi, ma sto lavorando per trovare una soluzione più diretta:

#!/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
    
risposta data 22.02.2012 - 14:17
fonte
2

Non dimenticare che puoi semplicemente eseguire AppleScript sulla riga di comando usando lo strumento osascript invece di incorporarlo nello stile <<EOF all'interno dello script come Daniel suggerisce .

Ciò significa che puoi riutilizzare lo script che già conosci con uno script di shell su una riga:

osascript ChangeSettings.scpt

(supponendo che ChangeSettings.scpt sia il file nella directory di lavoro corrente contenente l'AppleScript che hai menzionato)

    
risposta data 22.02.2012 - 10:56
fonte

Leggi altre domande sui tag