【Bat】Windows10のOneDriveを無効にしたい!同期を無効化するレジストリとバッチスクリプト例。

Windows

こんにちは!今回はOneDriveの機能を無効化するバッチファイルを作成例を紹介していきたいと思います。

OneDriveはWindowsでの標準ファイル同期ソフトです。この同期するという動きが邪魔になったり、更新時の失敗原因になったりすることもあります。

そんな時はサクッとバッチファイルでOneDriveを無効にしてしまいましょう!

やりたいこと

OneDriveをアンインストールせずに、同期機能を停止した状態にしたい。
バッチファイルを実行すると機能を無効にした状態にしたい。

スクリプト例

@echo off
cd /d %~dp0

rem ①管理者権限チェックし自動で管理者実行
whoami /priv | find "SeDebugPrivilege" > nul
if %errorlevel% neq 0 (
@powershell start-process %~0 -verb runas
exit
)

rem ②OneDriveが起動していたら終了する
tasklist |findstr "OneDrive"
if %errorlevel% equ 0 (
    taskkill /f /im OneDrive.exe
)

rem ③レジストリでOneDriveの同期機能を無効化する
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\OneDrive" /v "DisableFileSyncNGSC" /t REG_DWORD /d 1 /f

pause

解説

①管理者権限チェックし自動で管理者実行

レジストリの書き込みを必要としているので、管理者権限は必要になります。
いつものスクリプトですが、管理者に自動昇格するスクリプトを入れておきます。

詳しく知りたい方は下記をどうぞ音符

②OneDriveが起動していたら終了する

tasklist |findstr "OneDrive"
if %errorlevel% equ 0 (
  taskkill /f /im OneDrive.exe
)

「tasklist」は現在実行しているすべてのタスクを返すコマンドです。その中から「OneDrive」の文字を「findstr」で探しています。

OneDriveが見つかった場合、指定のタスクを終了する「taskkill」コマンドにて終了させています。
オプションの「/f」は強制的に終了させ、「/im」はイメージ名で終了するプロセスを指定するオプションです。

③レジストリでOneDriveの同期機能を無効化する

OneDriveの同期期の無効化は下記のレジストリキーで設定できます。

レジストリキー:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\OneDrive
サブキー:DisableFileSyncNGSC
キーの種類:REG_DWORD
値 1の時:無効 0の時:有効

今回は無効化したいので、この値を1にしてあげればOKです。

このレジストリを設定しておかないと、起動時に毎回OneDriveを終了しなくてはなりません。
今回は同期の無効化がメインなので、このレジストリを設定してあげればOneDriveが起動していても同期することはありません。

あとがき

今回はOneDriveの機能を無効化するバッチファイルを作成例を紹介させていただきました。

もちろんアンインストールしてしまえば、このような処理はしなくても良いですが、一応入れたままにしておくことも可能だ、という例として作成してみました。

OneDriveはバックアップや自己所有のPCへ共有させるのにはとても便利なツールですね。
WEBからもコピーできますし、Microsoftアカウントであればログインするとすぐ同期してくれますからね。

同期が完了していれば特に問題ないのですが、同期中という状態が続く環境だったりすると、それをもとにして障害が発生することがあります。

使わないのならアンインストールするのも手ですが、何かおかしいなと思ったら機能を一時的にでも停止してみるのも一つの方法だと思います。

何かのお役に立てれば幸いです。

コメント

Translate »
タイトルとURLをコピーしました