Bonjour,
Tu mélanges plusieurs choses, mais on va essayer de trier :
1) commande "Do shell script"
Cette commande est appelée par un script Applescript pour lancer une commande du shell Unix. Elle ne nécessite pas le Terminal, bien qu'elle s'apparente à une simulation d'une commande lancée via le Terminal (désolé pour les puristes, je simplifie).
Par exemple:
do shell script "ls -l /Users/"
On pourrait directement taper dans le Terminal la commande ls -l /Users/ (qui donne le contenu du dossier Users)
Cependant, la commande do shel script n'est pas interactive, c'est à dire que si la commande Unix demande un complément comme le mot de pass admin, le do shel script ne demandera rien à l'utilisateur et l'instruction échouera.
Il est possible d'inclure, dans la commande unix un "with admin privilege et de donner le mot de passe administrateur...ce que je déconseille fortement: Si on met des mots de passe administrateur, ce n'est pas pour les écrire en clair dans un script.
Je précise q'un script Applescript n'a pas d'admin privilège et ne peut donc être lancé en mode administrateur. il est lancé avec le niveau qui le lance...
2) lancer un script via le Terminal (ou via do shell script)
L'instruction à utiliser pour lancer un script via le Terminal est "osacript" suivi du chemin vers le script à lancer. Par exemple
osascript /Users/Moi/Desktop/test.scpt
Notons au passage que si on veut lancer un script, non pas via le Terminal, mais en direct à partir d'un autre script, il y a plus simple que de demander à Applescript de lancer un commande Unix qui lance elle-même un script : Applescript peut lancer directement un autre script (commandes load script et run script).
Ces points étant clarifiés, tu as raison sur un point: les réglages de partage de réseau nécessitent le niveau administrateur.
C'est logique et nécessaire afin de garantir la sécurité.
Dans ton cas, tu veux donc court-circuiter cette sécurité pour mettre le partage sans être administrateur. C'est déconseillé et surtout impossible.
Enfin il reste que même si tu faisais un script Unix à qui tu envoies le mot de passe administrateur, ce mot serait dans ton script et donc présenterait un risque sécuritaire.
Malgré toutes ces mises en garde et si tu as le courage, tu peux regarder du côté des commandes Unix visant la configuration /System/Library/LaunchDaemons/com.apple.NetworkSharing.plist et les launchctl.
Dangereux (tu peux planter gravement ton système) , incertain, très complexe... Bref passe ton chemin. Désolé.
Il te reste à lancer le script en mode admin, c'est plus sain.
Cordialement
Partager