バッテリ動作時にOneDriveの同期を停止する
マイクロソフトがクラウドサービスとして提供しているOneDriveは、Windowsとの親和性も高く、ユーザーには手放せない環境になりつつあります。ところが、Windows 10の正式版に搭載されているOneDriveは、バッテリ駆動中や従量課金制のネットワークの利用中といった設定にかかわらず、クラウドのストレージとの同期を行ってしまいます。あまり使い勝手のよい仕様とはいえないので、できれば、バッテリ駆動中ぐらいは同期を止めておきたいものです。ここでは、簡単にその方法を解説します。
そもそも、OneDriveの同期機能の本体となるプログラムは「OneDrive.exe」です。これは、各ユーザーフォルダーの下にある「%USERPROFILE%\APPDATA\LOCAL\MICROSOFT\ONEDRIVE」にあります。このOneDrive.exeを止めれば、同期は停止し、再開することで同期が開始されます。もし、手動で行うのであれば、OneDrive.exeを手動で起動したり、タスクマネージャーなどでOneDrive.exeを停止するなどしても制御は可能です。
しかし、手動で同期の制御を行うのは面倒なので、これは自動化したいところです。幸いWindowsに付属のタスクスケジューラを使えば、バッテリ動作になったことを検出して、登録したプログラムの自動停止や電源がオンになったあとの再開などが可能になります。今回は、この仕組みを利用してOneDrive.exeを制御します。
タスクスケジューラが制御するタスク(この場合はOneDrive.exe)を制御する関係から、初回の起動もタスクスケジューラに行わせる必要があります。これは、タスクスケジューラは自分が起動したタスクのプロセス番号を記憶しており、重複起動を避けたり、タスクを終了させる場合、自身が起動したプロセスが対象になるからです。このため、スタートアップとして登録されているOneDrive.exeを無効にして、タスクスケジューラのみが起動を行うようにします。このためには、タスクマネージャーの「スタートアップ」を利用します。ここに「Microsoft OneDrive」という項目があるので、右クリックで「無効」を設定し、勝手にOneDrive.exeが起動しないようにします(図1)。
タスクスケジューラに初めてタスクを登録する場合、自分用のフォルダーを作成しておきます。フォルダーは、登録されたタスクを整理するもので、自分用のフォルダーを作らないと、Windows標準のタスクと紛れてしまいます。フォルダーを作るには、タスクスケジューラの左側の領域で「タスクスケジューラライブラリ」を右クリックして、メニューから「新しいフォルダー」を選択します(図2)。名前は適当でかまいません。
作成したフォルダーを選択したら、中央上の領域で右クリックして「新しいタスクの作成」を選択します(図3)。
すると、タブが5つあるダイアログボックスが表示されます。まずは、「全般タグ」(図4)で「名前」を指定します。ここは「OneDrive」など適当なものを付けてください。
次は「トリガー」タブ(図5)ですが、最初は何もないので「新規」ボタンを押します。「トリガーの編集」ダイアログ(図6)では、「タスクの開始」を「ログオン時」として、「特定のユーザー」を指定します。OneDrive.exeはログオンしているユーザーのファイルを同期するため、とりあえず、自分がログオンしているときにのみ実行するようにします。
また、「繰り返し間隔」を「5分間」、として「継続時間」を「無制限」とします。これは、バッテリ駆動からAC駆動に戻ったときに、OneDrive.exeを再起動するためです。なお、ログオン直後には、他のアプリも起動するため、必要なら「遅延時間」を設定してもいいでしょう。また、最後にある「有効」がオンになっていることを確認しておきます。
次は「操作」タブですが、ここも最初は何もないので「新規」ボタンを押します(図7)。
「操作の編集」ダイアログボックス(図8)が開くので、「プログラム/スクリプト」でOneDrive.exeを指定します。また「引数の追加」に「/background」を指定しておきます。OneDrive.exeをそのまま起動すると、同期先のフォルダーを表示しますが、起動時に「/background」オプションを付けることで、フォルダーを表示せずに起動することが可能です。
「条件」タブ(図9)では、「コンピューターをAC電源で使用している場合のみタスクを開始する」をオンにして、「コンピューターの電源をバッテリに切り替える場合は停止する」もオンにします。
「設定」タブ(図10)では「タスクを要求時に実行する」、「スケジュールされた時刻に……」の2つをオンにしておき、他はオフにします。
これで設定が終了しました。正しく動作させるには、システムを再起動します。その後、AC電源ではOneDrive.exeが起動(通知領域のアイコンで確認できる)し、バッテリ駆動状態にしたら、通知領域のアイコンが消えることを確認しましょう。これで、バッテリ駆動時にはOneDriveの同期が行われなくなります。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Windows Server 2012 R2 LANの構成とドメインコントローラーの設定
- Windows Server 2012 R2におけるWindows 10クライアントのドメインへの参加
- ゼロからわかるAndroid Studioインストール手順(Windows版 v1.1.0対応)
- Windows Photo ViewerでPNGファイルを表示する
- TOPPERS/JSPによるロボット制御
- Windows Web Server 2008のサーバー構築
- ゼロからわかるAndroid Studioインストール手順(Windows版 v2.2.2対応)
- Active Directoryユーザーとコンピューター
- はじめてのWindows Azure Accelerator for Web Roles
- Windows Server 2012 R2における共有フォルダーの作成