IPB

Bienvenue invité ( Connexion | Inscription )

> Lancer une commande dans le Terminal (résolu), script pour automatiser « télécharger de n'importe où
Options
Tomeno
posté 3 Oct 2020, 11:37
Message #1


Macbidouilleur d'Or !
*****

Groupe : Modérateurs
Messages : 3 081
Inscrit : 18 May 2002
Lieu : Base de la tranquilité/Planéte Lune/Cratére n°3.
Membre no 2 501



Je cherche de l'aide pour écrire un petit Applescript qui :
–ouvrirait le terminal
–écrirait une commande dans ce terminal (par exemple : sudo spctl --master-disable , pour télécharger de n'importe où)
–exécuterais la commande
–quitterait le terminal

Merci d'avance de votre aide


--------------------
Hackeur vaillant ... rien d'impossible !
Mac Pro "corbeille" 2013 3,7 Ghz, SSD 500 Go, + Ecran Nec 30"/ iMac Retina 2014, 4 GHz, écran 27 " / Mac Pro "camion" 2008 / Imac G4 Tournesol 1,25 GHz 20" , modifié Mac Mini M1/ Cube G4 boosté à 1,8Ghz avec carte Gigadesign +Geforce 6200+AppleDisplay 23" / Spartacus upgradé G3 / MacBook polycarbonate 2011 / MacBook pro 17 pouces / Freebox Révolution V6 / Wifi Mesh avec 4 boitiers Tenda Nova MW6
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
Zeltron54
posté 23 Apr 2023, 08:02
Message #2


Adepte de Macbidouille
*

Groupe : Membres
Messages : 184
Inscrit : 15 Mar 2008
Lieu : Lorraine
Membre no 110 156



Bonjour,

Il devrait suffire d'intercepter l'erreur et de mettre un dialogue "erreur de mot de passe"
je te met ton script avec juste la modification pour intercepter l'erreur, cela se passe dans un bloc "try" "on error "end try'
Toute erreur qui se produit entre le "try" et le "end try" provoque la réalisation de se qui est dans "on error"

Code
set nameList to {"Autoriser les téléchargements depuis n'importe où", "N'autoriser que ceux de App Store et de ses developpeurs"}
    
    set choix to (choose from list the nameList with prompt "Votre choix S.V.P. : " with title "Autorisations des téléchargements") as string
    if choix is "false" then quit -- Bouton Annuler
    
    display dialog "Entrer votre le mot de passe administrateur :" default answer "" with hidden answer
    set MDP to text returned of result
    
    set commande to "echo " & MDP & " | sudo -S spctl --master-"
    try
        if choix is "Autoriser les téléchargements depuis n'importe où" then
            set tout to commande & "disable"
            do shell script tout
        end if
        if choix is "N'autoriser que ceux de App Store et de ses developpeurs" then
            set fini to commande & "enable"
            do shell script fini
        end if
        do shell script "sudo -k"
    on error
        display dialog "Erreur de Mot de Passe ! "
    end try
    
    display dialog "Le résultat ne sera visible qu'après avoir relancé les Préférences Système" buttons "OK" default button "OK"
    quit


Je te met la version avec les 3 possibilités et avec la bloc erreur..

Code
set nameList to {"Autoriser les téléchargements depuis  n'importe où", "Autoriser n'importe où pour 5 minutes", "N'autoriser que  ceux de App Store et de ses developpeurs"}
  
   set choix to (choose from list the nameList with prompt "Sélectionner : " with title "Choix") as string
   if choix is "false" then quit -- Bouton Annuler
  
   display dialog "Entrer votre le mot de passe administrateur :" default answer "" with hidden answer
   set MDP to text returned of result
  
   set commande to "echo " & MDP & " | sudo -S spctl --master-"
   try
       set ledelai to 0
       if choix is "Autoriser n'importe où pour 5 minutes" then
           set tout to commande & "disable"
           do shell script tout
           delay 300
           set fini to commande & "enable"
           do shell script fini
       end if
      
       if choix is "Autoriser les téléchargements depuis n'importe où" then
           set tout to commande & "disable"
           do shell script tout
       end if
      
       if choix is "N'autoriser que ceux de App Store et de ses developpeurs" then
           set fini to commande & "enable"
           do shell script fini
       end if
      
   on error
       display dialog "Erreur de Mot de Passe ! "
   end try
  
   do shell script "sudo -k"
  display dialog "Le résultat ne sera visible qu'après avoir relancé les Préférences Système" buttons "OK" default button "OK"

Dis moi si cela te convient.

Ce message a été modifié par Tomeno - 23 Apr 2023, 15:03.


--------------------
Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6)
Imac 24 M3 2023 Ram 24Go macOS Sequoia 15.4.1
Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 19th June 2025 - 20:56