¿Cómo puedo ejecutar un script de shell con privilegios de administrador de Applescript?

2

Estoy escribiendo un Applescript que apunta a automatizar la instalación (agregar al llavero raíz) y la configuración 'Confiar siempre' simplemente lanzando el Applescript. ¿Estoy atascado en cómo autenticar al usuario administrador con la ventana emergente de autenticación?

Aquí está mi código hasta ahora:

try
    set question to display dialog "To Install Click 'Continue'" & return & "You will be prompted to enter an administartor password!" buttons {"Close", "Continue"} default button 2
    set answer to button returned of question
    if answer is equal to "Continue" then
        do shell script ("sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ~/Desktop/MyWiFiCertificate.crt")
    else if answer is equal to "Close" then
        display dialog "You have cancelled the WiFi Certificate installation." buttons {"Exit"} default button 1
    end if
on error errorMsg
    display dialog errorMsg
end try

Sin embargo, me sale este error

sudo: no tty present and no askpass program specified".

Supongo que se debe al hecho de que la operación no puede ser autenticada por el usuario administrador. Agradecería que alguien que haya automatizado este proceso antes pudiera refinar mi código para permitir que el usuario autentique y automáticamente "Confíe siempre" en el certificado de WiFi.

    
pregunta ProGrammer 23.01.2016 - 13:25

1 respuesta

0

Puede pasar privilegios de administrador a una línea de AppleScript que requiere privilegios de administrador agregando "con privilegios de administrador":

do shell script "security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ~/Desktop/MyWiFiCertificate.crt" with administrator privileges
    
respondido por el grg 23.01.2016 - 16:10

Lea otras preguntas en las etiquetas