Ho provato ad usare AppleScript per cambiare il mio disco di avvio per Boot Camp e Mac. In precedenza ho provato a utilizzare il terminale (faccio script di shell) ma sembra che quell'opzione mi richieda di inserire una password amministrativa.
Quindi:
- Come faccio a renderlo tale da poter recuperare la password? Posso usare i portachiavi.
- Come posso programmare AppleScript / utilizzare Terminal tramite AppleScript per:
- vai in Preferenze di Sistema / avvialo se non è già aperto
- vai al pannello delle preferenze del disco di avvio
- imposta il disco di avvio su Windows / Mac e ha l'opzione di spegnimento / riavvio. (Mi piacerebbe essere in grado di avere un singolo script per gestire tutto anche se sto riavviando in macOS, o spegnendo e utilizzerò Windows in seguito, ecc.)
Grazie in anticipo! (PS Ho provato a cercare alcune risposte e c'è una buona risposta qui su StackOverflow ma sembra non funzionare su Sierra. Anche le altre risposte che ho trovato su SO e Ask Different non funzionano.)
I due set di codice che ho provato (primo usando le Preferenze di Sistema, il secondo usando Terminal, entrambi usando AppleScript):
display dialog "Select a startup disk" buttons ¬
{"BOOTCAMP", "Macintosh HD"}
if button returned of the result = "BOOTCAMP" then
set bootVol to "BOOTCAMP" as text
else if button returned of the result = "Macintosh HD" then
set bootVol to "Macintosh HD" as text
end if
do shell script "security 2>&1 >/dev/null find-generic-password -gl \"Insert Password Here\" | awk '{print $2}'"
set myPass to (text 2 thru -2 of result) as text
do shell script "bless -mount \"/Volumes/" & bootVol & ¬
"\" -setBoot" user name "username" password myPass with administrator privileges
do shell script "shutdown -r now" user name "username" password myPass with administrator privileges
(Inserisci password qui si riferisce alla chiave generica. Cosa ho trovato:
- quando si esegue il comando nel terminale senza barre rovesciate il comando funziona e mi dà la password assegnata includendo le virgolette come questa
"Password"
tell application "System Preferences"
activate
set the current pane to pane id "com.apple.preference.startupdisk"
get the name of every anchor of pane id "com.apple.preference.startupdisk"
end tell
try
tell application "System Events" to tell process "System Preferences" to click button "BOOTCAMP Windows" of radio group 1 of scroll area 1 of group 1 of splitter group 1 of window 1
end try
try
tell application "System Events" to tell process "System Preferences" to click button "Restart..."
end try
Devo essere in grado di sbloccare le Preferenze di Sistema, preferibilmente usando la stessa password del portachiavi che ho menzionato nel primo script. Il secondo comando tell application "System Events" to tell process "System Preferences" to click button "Restart..."
non funziona.