Mac
Windows
MacOSX
AppleScript
Bootcamp

[Bootcamp]Mac上で、WIndowsで再起動させるスクリプトを作る!!


はじめに

BootcampでMacにWindowsを入れて使ってます。

Macを使っていて、Windowsで再起動したい場合、正攻法で行くと、

システム環境設定→起動ディスク→鍵のロックを外す→BOOTCAMPを選択

なんですが、、、めんどくせーよと!いうことで、

簡単にWindowsで再起動させる方法を調べてみました


コマンドとかあるんじゃね?といことで調べてみたら...

あったんですが、Yosemite(Mac OS X 10.10)以降はSIP(System Integrity Protecton)というのを無効化しないと出来ないみたいです。

無効にするのはセキュリティー的にどうなんだろう?という疑念が拭えなかったのでやりませんでしたが、一応他の方がやり方を載せてくださっているのでリンクを貼っておきます。

Mac OS X El CapiptanでSIPを無効化する

MacとWindowsを簡単に切り換える


本題

そろそろ本題行きますねw

結論から言うと、AppleScriptというのを使って自分のやりたかったことを実現しました。

まず、AppleScriptを作成するスクリプトエディタを

Finder→アプリケーション→ユーティリティ→スクリプトエディタ.app

開いてください。

そして画面上部のファイル→新規で作成します。

重要

ここは遅かれ早かれ、どこかで行ってください。

スクリプトエディタを実行させるのに権限がないので

設定を変更します。

環境設定→セキュリティーとプライバシー→プライバシーアクセシビリティ→鍵のロックを外す→スクリプトエディタをオンにします。

そしたら、新規作成したスクリプトエディタを開いてください。

そしたら、以下の文をコピペして、

一番上の行のhogehogeの部分を自分のパスワードに変更してください。

set pc_password to "hogehoge"

tell application "System Preferences"
activate
set current pane to pane id "com.apple.preference.startupdisk"
end tell

delay 1

tell application "System Events"
tell process "System Preferences"
if (exists button "変更するにはカギをクリックします。" of window 1) is true then
click button "変更するにはカギをクリックします。" of window 1
delay 1
keystroke return
delay 1
keystroke pc_password
keystroke return
delay 1
end if

tell radio group 1 of scroll area 1 of group 1 of splitter group 1 of window 1
click radio button "BOOTCAMP"
end tell

click button 1 of window 1
delay 1
--動作確認する場合は下の行をコメントアウト
keystroke return
end tell
end tell

ちなみにこのまま再生ボタンを押すと本当にWindowsで再起動してしまいますのでw

動作確認をしたい場合は下から3行目をコメントアウトしてください。

コメントアウトは先頭に--をつけます。

注意

保存するときはコメントアウト外してください。

そうすればあとちょっとで再起動のところまで行けると思います。

うまくいかなかった場合はおそらく重要のところをやればうまく行くと思います!

それでもうまく行かなければエラーメッセージと共にコメントください笑


はい!最後、保存です

画面上部のファイル→保存

そしてファイル名と保存先を設定して、最後にファイルフォーマットをアプリケーションにし、保存ボタンを押し、完成です。

お疲れ様でした。

Windowsを使いたくなったら保存先からダブルクリックすればおけです。


参考にしたサイト

主にここ

UIの構造を知るのに助かった

ダイアログを処理するのに助かった