放浪猫

主にガジェットとかの雑記

OneDriveが起動しない時の対処 (グループポリシーの変更)

こんにちは、ゆきしろです。
世の中には理不尽なことがたくさんありますね。
例えば、適用されている組織の変更によるPC構成の変更、Office365のインストール、HENNGEのワンタイムパスワード等適用によるセキュリティの設定変更、プロキシの適用による構成変更etc.
 
今日はそんな理不尽な世の中に耐えられなくなって、OneDriveが起動しなくなった時のお話です。
 
■現象
 
・PC起動時に起動するように設定しているOneDriveが起動しない
・タスクトレイに雲アイコンが存在しない
・タスクマネージャーのプロセス一覧にOneDrive.exeが存在しない
・アンインストールや再起動等をしてもOneDrive.exeが起動しない
・再インストール時、OneDriveインストール後にサインアップ画面が出ない
・同期設定をしているはずのOneDriveフォルダが同期されない
・エラーログにこれが出た「Something went wrong waiting for the client to signal us. Error code: 0x102」

 …等 

 
■原因
以下のログが出ている場合は、大体グループポリシーの設定状態のせいです。
1.Windows+Rキーを押して「%localappdata%」を入力する。
2.C:\Users\{ユーザ名}\\AppData\Local\Microsoft\OneDrive\OneDrive.exe をダブルクリックする。
3.OneDrive\setup\logsのログを確認する
「Something went wrong waiting for the client to signal us. Error code: 0x102」が出ている
 
■グループポリシーの設定確認と変更
【UIからの確認】
1.Windows+Rキーを押して「gpedit.msc」を入力しローカルグループポリシーエディターを起動
2.コンピューターの構成>管理用テンプレート>Windowsコンポーネント>OneDrive>"OneDriveをファイル記憶域として使用できないようにする"が「有効」になっていないか?
※有効の場合は「無効」にしてください。「未構成」の場合は以下の実際のレジストリ状態も確認してください。
 
【実際のレジストリ状態】
 
1.Windows+Rキーを押して「regedit」を入力しレジストリエディタを起動
2.コンピューター\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\OneDrive を開いてキー「DisableFileSyncNGSC」の値が1になっていないか?
(1になっていると "OneDriveをファイル記憶域として使用できないようにする"が「有効」になっています )
 
  ( ゚д゚)<UI表示と実態が違うじゃねぇかゴルァ。以下、対処。
 
3.1になっていたらキーをダブルクリックして値を 0 に変更し、レジストリエディタの画面を閉じる。
4.Windows+Rキーを押して「%localappdata%」を入力する。
5.C:\Users\{ユーザ名}\\AppData\Local\Microsoft\OneDrive\OneDrive.exe をダブルクリックで起動する。
6.OneDriveが立ち上がる(はず)
 
いやはや、Microsoftへのストライキはほどほどにしてほしいものです。
それでは。
 
 
2021/7/5 追記
思ったよりたくさんの方に見て頂いているようですのでおまけとしてワンクリックで復活する .bat を公開します。実行時に文字化けする場合はShift-JISで保存するか日本語コメントのechoを消してね。世界が平和になりますように。
 
OneDriveRestart.bat

@echo off

cd /d %~dp0

echo OneDriveの無効化グループポリシー設定値を1から0に変更
rem reg add <KeyName> [{/v ValueName | /ve}] [/t DataType] [/s Separator] [/d Data] [/f]
@powershell -NoProfile -ExecutionPolicy Unrestricted -command start-process 'cmd.exe' '/c reg add HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\OneDrive\ /v DisableFileSyncNGSC /t REG_DWORD /d 0 /f' -Verb runas -Wait

echo OneDriveの無効化グループポリシーの設定状態は以下の通りです
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\OneDrive\ /v DisableFileSyncNGSC

echo OneDriveを起動します
@powershell -NoProfile -ExecutionPolicy Unrestricted -command "Start-Process %USERPROFILE%\AppData\Local\Microsoft\OneDrive\OneDrive.exe"

exit /b