Um método programático para desativar todos os serviços de compartilhamento? -- applescript campo com sharing campo com script camp apple Relacionado O problema

A programmatic method for disabling all sharing services?


5
vote

problema

português

Estou buscando um método programático para desabilitar todos os serviços de compartilhamento em um Mac. Minha preferência é para um AppleScript ou um script de shell.

Eu gostaria de ter os serviços mostrados na imagem abaixo desativados quando eu executo o script. A solução deve ser compatível com Alfred, teclado Maestro ou qualquer outra ferramenta global de produtividade.

Os serviços que gostaria de desativar são:

Opções de compartilhamento

Eu poderia criar o seguinte com algum googling:

compartilhamento de arquivos (ligado / desligado)

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

Compartilhamento de 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            

( Eu prefiro comandos terminal ou scripts em lote para scripts da Apple . Aqui está um solução de script da Apple Para os interessados.)

english

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 respostas

6
 
vote
vote
Melhor resposta
 

Aqui está um script de shell que desliga os serviços, mas estou trabalhando para encontrar uma solução mais direta:

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

Não se esqueça Você pode simplesmente executar o seu AppleScript na linha de comando usando o osascript ferramenta em vez de incorporá-lo <<EOF estilo dentro do script como daniel sugere .

Isso significa que você pode reutilizar o script que você já conhece funciona com um script de shell de uma linha:

  osascript ChangeSettings.scpt    

(assumindo ChangeSettings.scpt é o arquivo no diretório de trabalho atual que contém o AppleScript que você mencionou)

 

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)

 
 
     
     

Perguntas relacionadas

9  Como faço para modificar o Word 2011 para Mac para que eu possa ver alterações rastreadas e notas simultaneamente?  ( How do i modify word 2011 for mac so i can see tracked changes inline and notes ) 
background: No Word 2011 para o Mac, é possível visualizar alterações rastreadas Inline - isto é, veja as alterações feitas na tela dentro do próprio te...

1  Como executar o script do shell no lançamento do aplicativo?  ( How to run shell script upon application launch ) 
Não tenho certeza se isso pertence aqui ou no superusuário, mas é o Mac específico, então eu vou com aqui. Eu escrevi um script Ruby que edita o arquivo de ...

5  Um método programático para desativar todos os serviços de compartilhamento?  ( A programmatic method for disabling all sharing services ) 
Estou buscando um método programático para desabilitar todos os serviços de compartilhamento em um Mac. Minha preferência é para um AppleScript ou um script d...

1  Problema com sintaxe de exclusão de conta script  ( Problem with scripted account deletion syntax ) 
Estou trabalhando em um módulo de script de limpeza de contas que pode lidar com as contas ocultos e unilindas que estamos criando em massa em novos sistemas ...

2  Contraparta MacOS do arquivo de lote de inicialização do Windows [duplicado]  ( Macos counterpart of windows startup batch file ) 
. Esta pergunta já tem uma resposta aqui : Como executar um comando na inicialização ...

8  Ligue de volta ao meu Mac por meio de um script ou linha de comando  ( Turn on back to my mac via a script or command line ) 
O software VPN que eu uso para o trabalho ( IPsecuritas ) Requer que eu desligue de volta ao meu Mac para começar Conexão, então eu freqüentemente desligue de...

1  Como posso script o disco de inicialização em MacOS Catalina sem desabilitar o SIP?  ( How can i script the bootup disk in macos catalina without disabling sip ) 
Estou no Catalina 10.15.6. Anteriormente, você pode escrever scripts de shell que definiriam o volume de inicialização e reiniciariam o Mac, usando ABCDEFG...

4  Como criar um serviço Automator para executar um script em todos os arquivos em uma pasta  ( How to create an automator service to run a script on all files in a folder ) 
Eu quero criar um serviço usando o Automator para executar um script shell em todos os arquivos em uma pasta, digamos excluir todos os arquivos de log. O que ...

2  Automator para executar o script do shell com um arquivo de texto de entrada, copie-o para diretório específico  ( Automator to execute shell script with an input text file copy it to specific d ) 
Estou simplificando fazendo um arquivo .deb com automator. Eu atualmente tenho um script de shell que faz algumas ações simples - . Pergunte ao usuário para...

8  Qual é a maneira mais fácil de automatizar o login em um site?  ( Whats the easiest way to automate logging into a website ) 
Há este site que eu preciso acessar cerca de dez minutos. E aparentemente foi projetado em 1993, por sádicos. Não há nenhuma caixa de seleção "lembrar de mim ...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.