Come posso eseguire uno script di shell con i privilegi di amministratore di Applescript?

2

Sto scrivendo un Applescript che mira ad automatizzare l'installazione (aggiungi al portachiavi root) e l'impostazione 'Fidati sempre' semplicemente lanciando Applescript. Sono bloccato con come ottenere l'utente amministratore autenticato con il popup di autenticazione?

Ecco il mio codice finora:

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

Tuttavia, ottengo questo errore

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

Suppongo che sia dovuto al fatto che l'operazione non può essere autenticata dall'utente amministratore. Sarei grato se qualcuno che ha automatizzato questa procedura prima potesse perfezionare il mio codice per consentire all'utente di autenticare e automaticamente "Fidati sempre" del certificato WiFi.

    
posta ProGrammer 23.01.2016 - 13:25
fonte

1 risposta

0

Puoi passare i privilegi di amministratore a una linea di AppleScript che richiede i privilegi di amministratore aggiungendo "con i privilegi di amministratore":

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

Leggi altre domande sui tag