Googleドライブアプリのおせっかい機能を無効化・軽減する方法
Googleドライブに保存しているファイルをローカルに同期するために「バックアップと同期」というアプリを使っておりましたが、
先日「Google ドライブ」アプリなるものが勝手にインストールされておりました。
調べてみると「バックアップと同期」アプリのサポートが9月いっぱいで使えなくなり、今後は「Google ドライブ」アプリを使ってくれという事なようですね。
じゃあ移行しようかと思って「Google ドライブ」アプリに移行してみると
「使う人には便利なんだろうけど、個人的に要らないなぁ。しかも設定で無効にできないとは!」
という機能がいくつかあったので無効化・軽減する方法を考えてみました。
※この後レジストリを編集する手順が出てきます。
レジストリの編集を間違えるとパソコンが起動しなくなるなど重大な問題が起こることがあるので、
内容を理解したうえで参考にしていただくようお願いいたします。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2021年11月05日追記
10月05日に追記した副作用を起こさずに新規作成コンテキストメニューを消す方法を見つけました。
詳しくは この記事 を参照してください。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2021年10月05日追記
「対策1:コンテキストメニューの新規作成配下に「Google Docs」、「Google Sheets」、「Google Slides」が追加される。」で書いた
レジストリのアクセス許可を変更する対策ですが、数日使っているうちに副作用が出ていることに気づきました。
具体的には最短で30秒に1回~数分に1回、以下のようにアイコンのちらつきが起こります。
左の青い領域がデスクトップで、右がエクスプローラーです。
アイコンキャッシュを再構築するコマンド(ie4uinit.exe -show)と同じようなちらつき具合なので、
おそらくGoogleドライブアプリの処理的に
・30秒に1回レジストリをチェックする。
・フォルダアイコン、コンテキストメニュー用のレジストリがすべて存在する場合は何もしない。
・フォルダアイコン、コンテキストメニュー用のレジストリが1つでも存在しない場合はレジストリへの書き込みを行い、
書き込みが成功したかどうかにかかわらずアイコンのキャッシュをクリアする。
という感じになっているためちらつきが起こるのではないかと思われます。
開発ツールやブラウザを表示してる分にはちらつきは起こりませんが、
画面端にエクスプローラーやデスクトップが見切れてる状態だとちらつきがちょっと気になりますね…。
もうちょっと別のアプローチができないか考えていますが、現時点ではまだ策が無い状態です。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
個人的に対策したいと思うのは以下のものです。
個人的に対策したいポイント列挙編
個人的に対策したいポイント1:コンテキストメニューの新規作成配下に「Google Docs」、「Google Sheets」、「Google Slides」が追加される。
フォルダやデスクトップ等でファイルを新規に作ろうとした際に以下のように
・Google Docs
・Google Sheets
・Google Slides
が表示されます。
これらを押してもブラウザでGoogleドライブが開くだけなのと、
そもそもMS Officeを使っているのでこれらにお世話になることはまず無かったりするので個人的には不要なものです。
個人的に対策したいポイント2:「Google Drive」という仮想ドライブが追加される。
エクスプローラーを開くと新たなドライブが追加されていることが確認できます。
試しに開いてみるとこのようにショートカットが1つ置いてあります。
ショートカット先に飛ぶと
「C:\Users\{ユーザー名}\マイドライブ」
に飛びます。
同期フォルダへのリンクなようですね。
「Google ドライブ」の同期オプションで「ファイルをストリーミングする」の場合は
ここからGoogleドライブに保存されているファイルにアクセスすることになるので無いと困ってしまいますが、
「ファイルをミラーリングする」でローカルにファイルを落としてきているので、
単なるショートカットのためにドライブを追加するのはちょっとやりすぎかなぁと思うところです。
個人的に対策したいポイント3:クイックアクセスに「Google Drive」仮想ドライブが追加される。
エクスプローラーの左上にあるクイックアクセスに対して「Google Drive」仮想ドライブが追加されています。
クイックアクセスはエクスプローラーのフォルダーオプションの
・最近使ったファイルをクイック アクセスに表示する
・よく使うフォルダーをクイック アクセスに表示する
をONにしているといつの間にか追加されていってしまいますが、OFFにしていても勝手に「Google Drive」仮想ドライブが追加されてしまいます。
クイックアクセスの「Google Drive」を右クリックして「クイック アクセスからピン留めを外す」で消したとしても、
「Google ドライブ」アプリを再起動すると再度追加されてしまいます。
「もしかするとWindows側のおせっかい機能か?」と思ってネットワークドライブを追加してみたり、
substコマンドで仮想ドライブを追加してみましたが、その場合はクイックアクセスには追加されませんでした。
なのでおそらく「Google ドライブ」アプリが追加しているものと思われます。
個人的に対策したいポイント4:同期フォルダ名が「Google ドライブ」から「マイドライブ」に変わっている。
「バックアップと同期」アプリの場合は同期フォルダ名が「Google ドライブ」でしたが、
「Google ドライブ」アプリの場合は同期フォルダ名が「マイドライブ」に変わりました。
「バックアップと同期」と「Google ドライブ」の2種類のアプリケーションがある以上フォルダ名を分けるのは致し方ないとは思いますが、
フォルダ名が変わってしまうとすでに作成してあるショートカットやファイルパスの指定をすべて変更しないといけないので非常に面倒です。
以上の4つが個人的に気になったところです。
気になったらなんとかしたくなってしまうので、対策を考えてみました。
個人的に対策したいポイント解決編
対策1:コンテキストメニューの新規作成配下に「Google Docs」、「Google Sheets」、「Google Slides」が追加される。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2021年11月05日追記
10月05日に追記した副作用を起こさずに新規作成コンテキストメニューを消す方法を見つけました。
詳しくは この記事 を参照してください。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2021年10月05日追記
以下に書いた方法だと副作用が出ることに気づいたので、
ページ上部に副作用の内容を書きました。
まだ副作用の対策はできておりません。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
コンテキストメニューの新規作成配下のメニューは、レジストリの以下のキーの配下に「command」という文字列値がある場合に表示されます。
コンピューター\HKEY_CLASSES_ROOT\.gdoc\ShellNew
コンピューター\HKEY_CLASSES_ROOT\.gsheet\ShellNew
コンピューター\HKEY_CLASSES_ROOT\.gslides\ShellNew
レジストリ エディターで確認してみると
というように確かにあったので、ShellNewキーを「ShellNew_xxx」にリネームしてみることにしました。
ShellNewキーを右クリックして「名前の変更」をクリックし、
「ShellNew_xxx」にリネームしました。
するとバッチリコンテキストメニューから消えました!
と喜んでいたのもつかの間、30秒ほど後に「ShellNew」キーが復活してしまいました!
当然コンテキストメニューにも選択肢が復活してしまいました。
「Google ドライブ」アプリを終了していると復活してこないので、おそらく定期的に監視して復活させに来ていると思われます。
「変更することは許さないぞ!」という強い意志を感じますね。
ShellMenuNew( http://www.nirsoft.net/utils/shell_menu_new.html )などのコンテキストメニューをカスタマイズするツールを使っても復活してきてしまうので、
通常の方法だとダメなようですね。
ではどうするかというと、「Google ドライブ」アプリがコンテキストメニュー用のレジストリに書き込めないようにしてしまえば復活を防ぐことができそうです。
特定のアプリケーションだけに書き込み権限をどうのこうのというのができるかどうかは調べてませんが、
「Google ドライブ」アプリをログインユーザーの権限で起動させている場合はログインユーザーの権限でレジストリにアクセスしに行くので、
ログインユーザーの書き込み権限をはく奪してしまえばひとまず目的が達成できそうです。
という事でShellNewの1階層上の「.gdoc」を右クリックして「アクセス許可」をクリックし、
「グループ名またはユーザー名」欄で現在ログインしているユーザーを選択し、
「アクセス許可」欄で「フル コントロール」のチェックを外し、「OK」ボタンをクリックします。
これでログインユーザーはこのキーに書き込みができなくなったので、「Google ドライブ」アプリも書き込めなくなったはずです。
再度ShellNewをリネームするために右クリックして「名前の変更」をクリックし、
※このキャプチャを撮る前に先ほどリネームした「ShellNew_xxx」は削除しました。
「ShellNew_xxx」にリネームしました。
コンテキストメニューの新規作成を見るとちゃんと消えています。
そしてしばらく待っても復活してきません!
うまく行きました!
ここまでは
コンピューター\HKEY_CLASSES_ROOT\.gdoc\ShellNew
のキーについて対処したので、同じ手順で
コンピューター\HKEY_CLASSES_ROOT\.gsheet\ShellNew
コンピューター\HKEY_CLASSES_ROOT\.gslides\ShellNew
もアクセス許可の変更 & ShellNewのリネームをすると、バッチリすべて消えました!
これで新規作成コンテキストメニューの件は解決です。
対策2:「Google Drive」という仮想ドライブが追加される。
ネットワークドライブみたいに切断して消すことはできないようですし、
substコマンドで操作もできないみたいなので、仮想ドライブ自体を消す方法はわかりませんでした。
ドライブレターを1個占有してしまうのはこの際しょうがないとして、目に付かないところに消えてくれれば実質解決だろうという事で、
このドライブを非表示にする方法を調べてみました。
任意のドライブをexplorer.exeの ”コンピューター” から非表示にする - う!
https://uzuky.hatenablog.com/entry/20131018/1382034085
細かいルールは↑のサイトを読んでいただくとして、やったことを書いておきます。
まずは「Google Drive」仮想ドライブのドライブレターを「L」にします。
「G」だとそのうち使うかもしれないので、なるべく使わなさそうなものにしておくために「L」にします。
「Google ドライブ」アプリの設定画面をでドライブレターを「L」に変更し、「完了」ボタンをクリックします。
次はレジストリ エディターで
コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies
のキーまで潜っていき、「Explorer」キーを作成します。
そして「Explorer」キーに「NoDrives」というDWORD(32ビット)値を作るわけですが、先ほどの参考サイトに書いてあるルールで計算する必要があります。
今回はLドライブを非表示にするので、2進数で
L K J I H G F E D C B A
1 0 0 0 0 0 0 0 0 0 0 0
となります。
これを16進数に変換するために電卓を起動して、「プログラマー」モードに切り替えます。
そして「BIN」をクリックして2進数モードに切り替え、先ほど作った「100000000000」を貼り付けます。
そうすると「HEX」欄に「800」と表示されるので、これで16進数の値が算出できました。
レジストリ エディターに戻り、
コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
キー配下に「DWORD(32ビット)値」を作成します。
名前に「NoDrives」を設定し、右クリックして「修正」をクリックします。
「表記」欄が「16進数」になっていることを確認し、
「値のデータ」に先ほど計算した「800」を入力し、「OK」ボタンをクリックします。
これで「Google Drive」仮想ドライブを非表示にするためのレジストリ編集は完了です。
タスクマネージャーからエクスプローラーを再起動させるか、パソコンを再起動するとバッチリ「Google Drive」仮想ドライブが消えました!
この方法はドライブレターが「L」のドライブを非表示にしているだけなので、仮想ドライブ自体は存在したままです。
なので「L:\」にアクセスすると「マイドライブ」のショートカットが置かれただけの「Google Drive」仮想ドライブの中身が見れます。
ドライブレターは占有されてしまいますが、とりあえず目につかなくなったのでこれで解決と思うことにしました。
対策3:クイックアクセスに「Google Drive」仮想ドライブが追加される。
クイックアクセスの内容がどこに保存されているか調べてみると、
%appdata%\microsoft\windows\recent\automaticdestinations\
%appdata%\microsoft\windows\recent\customdestinations\
の辺りにあるようでした。
いったんクイックアクセスへ追加・削除を行うと
%appdata%\microsoft\windows\recent\automaticdestinations\
の配下にある「f01b4d95cf55d32a.automaticDestinations-ms」のファイルが書き換わるのでおそらくこのファイルで管理しているのだと思われますが、
単なるテキストファイルじゃなさそうですし、「Google ドライブ」アプリが書き換えた後にさらに書き換えに行かないといけないため、このファイルをどうにかするのは難しそうでした。
どうしようかと悩んでいたのですが、対策2の「Google Drive」仮想ドライブの非表示対応をするとクイックアクセスに追加されなくなっていました!
先ほどの「f01b4d95cf55d32a.automaticDestinations-ms」をテキストエディタで開いてみると「Google Drive L:\」という文字列が確認できるので、
おそらくWindows側が非表示になってるドライブをクイックアクセスからも隠してくれてるんだと思います。
とりあえず対策2で自動的に対策できてしまったので、これにて解決です。
対策4:同期フォルダ名が「Google ドライブ」から「マイドライブ」に変わっている。
これはここまでの対策に比べると正攻法です。
シンボリックリンク的なものを作ってあげれば解決ですね。
Windowsなのでジャンクションを作成します。
コマンドプロンプトを管理者権限で起動し、以下のコマンドを実行します。
mklink /J "C:\Users\{ユーザー名}\Google ドライブ" "C:\Users\{ユーザー名}\マイドライブ"
{ユーザー名}のところは適宜書き換えてください。
ジャンクションを作成するとショートカットアイコンが付いた「Google ドライブ」フォルダが作られます。
これを開くとマイドライブに繋がっており、「~\Google ドライブ\~」のパスのままアクセスできるので、
今まで作ってきたショートカット等がそのまま動作します。
これで解決です。
以上で個人的に対策したいところは解消できました。
また気づいたことがあれば追加で対策を入れて行くかもしれませんが、ひとまず気にならなくなったのでこれにて対策検討を終わります。