Microsoft OneDrive のインストール
〜 あなたも騙されちゃったのね 〜
2024-05-24 作成 福島
ありゃ。見つかっちゃった。「書きたくない~。書きたくない~。どーしてこんな稚拙なプログラムに付き合わされにゃあならんのかあ~」
TOP > tips > msonedrive
[ TIPS | TOYS | OTAKU | LINK | MOVIE | CGI | AvTitle | ConfuTerm | HIST | AnSt | Asob | Shell ]

0. 前提条件

Microsoft OneDrive を動作させるには「Microsoft アカウント」が必要です。
まだ作成していなければ作成しておいてください。

項目内容備考
Microsoft
アカウント
メールアドレスmicrosoft.live.sample@gmail.comこれは架空のアカウント。
これを使用して Google や Microsoft のクラウドサーバに無駄な負荷をかけないように
パスワードpassword
ミドルウェアMicrosoft OneDrive 24.91.505.3本稿記述時の最新版。
Windows11 には最初からインストールされている。アンインストールが可能。
基本ソフトWindows10 Pro 22H2 64bit本稿記述時の最新版。
Windows ユーザ名Userローカルアカウント。
Windows のサインインに Microsoft アカウントは使用しない。


1. Microsoft OneDrive のインストール

1-1. Microsoft OneDrive のインストーラをダウンロードする。
ブラウザで Microsoft OneDrive の公式サイトを開く。
ボタンをクリックする。

ダウンロードしたファイルの使用方法や利用条件等の説明はなく、
すぐにダウンロードが開始される。
1-2. Microsoft OneDrive のインストーラを実行する。
ダウンロードしたインストーラをマウスで右クリックし「開く(O)」を選択する。
ダブルクリックでも可。
 ⇓
待つ。

ライセンスの確認や同意、使用条件等の説明はない。
 ⇓
上記プログレスバーの画面が消えたらインストール完了。
完了のメッセージ等はない。
1-3. メニューを確認する。
スタートメニューをたどり「O」に該当する場所に OneDrive があることを確認する。

まだクリックしない。
これをクリックすると同期ログインのシーケンスが開始される。

1-4. ディレクトリ構成を確認する。
サブディレクトリと仮想ディレクトリに「OneDrive」が追加された。(この時点では何も入っていない)
まだクリックしない。
これをクリックすると同期ログインのシーケンスが開始される。


2. Microsoft アカウントとのファイル同期

OneDrive に Microsoft アカウントを紐づける作業なので、
これを実施しても Windows のローカルサインインが Microsoft アカウントに変更されるわけではない。

2-1. OneDrive の Microsoft アカウント設定を実施する。
「OneDrive ディレクトリ」を開く。
上記 1-3 または 1-4 の OneDrive をダブルクリックする。(仮想ディレクトリはシングルクリック)
2-2. OneDrive の設定ウィンドウの表示に従い操作する。
2-2-1. サインイン情報の記入
メールアドレスを記入し、 ボタンをクリックする。
 ⇓
待つ。
 ⇓
パスワードを記入し、 ボタンをクリックする。
 ⇓
2-2-2 へ。
2-2-2. サインイン情報の拡大選択
Microsoft アプリのみ」をクリックする。
 ⇓
待つ。
 ⇓
待つ。
 ⇓
2-2-3 へ。
2-2-3. デバッグデータの送信設定。
ボタンをクリックする。
 ⇓
「◉ オプションのデータを送信しない」
を選択して ボタンをクリックする。
 ⇓
2-2-4 へ。
2-2-4. PC の同期ルートディレクトリの確認と同期するサブディレクトリの選択。
「OneDrive フォルダーはここにあります」の場所
を確認して ボタンをクリックする。
 ⇓
待つ。
 ⇓
ボタンをクリックする。
 ⇓
待つ。
 ⇓
2-2-5 へ。
2-2-5. 追加プロモーションの選択。
ボタンをクリックする。
 ⇓
2-2-6 へ。
2-2-6. 同期アイコンの説明。
ボタンをクリックする。
 ⇓
ボタンをクリックする。
 ⇓
ボタンをクリックする。

同期対象のディレクトリに存在するファイルは、アイコンに以下のマークが付加される。
ローカルだけという状態は存在しない
a. : クラウドにだけ存在。ローカルで閲覧・編集することはできない。
b. : ローカル / クラウドどちらにも存在。
c. : ローカル / クラウドどちらにも存在。(「✔このデバイス上で常に保持する」が選択されている)

インターネットに接続できないときや、OneDrive を非同期・アンインストールする場合は
予めファイルを b か c の状態にしておく必要がある。
 ⇓
2-2-7 へ。
2-2-7. 追加デバイスの選択。
ボタンをクリックする。
 ⇓
2-2-8 へ。
2-2-8. 設定完了。
ボタンをクリックする。
 ⇓
同期の設定が完了した。

2-3. ディレクトリツリーの確認
ディレクトリツリーは下記 (右側) のように変更された。
 >_ Windows PowerShell 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新しいクロスプラットフォームの PowerShell をお試しください
 https://aka.ms/pscore6

PS C:\> tree C:\Users\User
フォルダー パスの一覧
ボリューム シリアル番号は 000000BC 8020:994B です
C:\USERS\USER
├─3D Objects
├─Contacts
├─Desktop   -- A
├─Documents -- B
├─Downloads
├─Favorites
│   └─Links
├─Links
├─Music
├─OneDrive
├─Pictures  -- C
│   └─Camera Roll
├─Saved Games
├─Searches
└─Videos
PS C:\> 
 → 
 >_ Windows PowerShell 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新しいクロスプラットフォームの PowerShell をお試しください
 https://aka.ms/pscore6

PS C:\> tree C:\Users\User
フォルダー パスの一覧
ボリューム シリアル番号は 000000BC 8020:994B です
C:\USERS\USER
├─3D Objects
├─Contacts
├─Downloads
├─Favorites
│   └─Links
├─Links
├─Music
├─OneDrive
│   ├─デスクトップ -- A′
│   ├─ドキュメント -- B′
│   └─画像         -- C′
│       └─カメラ ロール
├─Saved Games
├─Searches
└─Videos
PS C:\> 
C:\Users\User にあったものが C:\Users\User\OneDrive に移動された。(紫色のディレクトリがそれぞれに対応)
AA′
BB′
CC′
と変更されたのでファイルエクスプローラで「ドキュメント\」をアクセスすると
「OneDrive\デスクトップ\」を操作することになる。

OneDrive をアンインストールするときに、これを元に戻す必要がある。


   ここから下は Microsoft OnDrive をアンインストールする手順   


3. 標準ディレクトリの復元と Microsoft OneDrive のリンク解除

3-1. 自分のファイルをクラウドからローカルにダウンロードする。
OneDrive のルートディレクトリ (C:\Users\User\OneDrive) を選択し「✔このデバイス上で常に保持する」の状態にしておく。
(OneDrive はディレクトリごとにバックアップ対象を設定できるので、これを利用する)
すべてのディレクトリ / ファイルのアイコンにがあれば OK。

注意 1: 下記 3-2 でバックアップを解除するとのファイルはローカルから消失したままになる。
その場合にファイルを取り戻すには、以下を実施する必要がある。
• 再度 OneDrive でサインインする。
• Web ブラウザからクラウドにアクセスして、自分のファイルをダウンロードする。
注意 2: クラウドに保存されているファイルをすべてダウンロードするため、ローカルディスクに十分な空き領域が必要。
また、ダウンロードには時間がかかるので、作業時間を確保することが必要。
3-2. バックアップを解除する。
ユーザの標準ディレクトリ構成を元に戻す。
• OneDrive のディレクトリ構成は上記 2-3 と同じままとなる。
• 各ディレクトリ / ファイルはコピーされない。

システムトレイの OneDrive アイコンを右クリックし、
表示されるメニューから「 設定(B) 」を選択する。
 ⇓
⇌ 同期とバックアップ」から「 バックアップを管理 」をクリックする。
 ⇓
バックアップ対象のディレクトリをすべて OFF にする。
下記は「ドキュメント」ディレクトリの例。
右側に表示されているスイッチが青 (右に倒れている) のディレクトリがバックアップ対象。
このスイッチをクリックし、グレー (左に倒す) にする。

一度に複数を操作することができないため、一つずつ操作する。
 ⇓
ボタンをクリックする。
 ⇓
待つ。
 ⇓
「ドキュメント」ディレクトリのバックアップが解除された。

他のディレクトリも同様にすべて解除する。
 ⇓
すべてのバックアップ対象が解除された。

ボタンをクリックする。
 ⇓
「同期とバックアップ」の表示に戻る。

 ×  をクリックしてこのウィンドウを閉じる。
3-3. ディレクトリツリーの確認
ディレクトリツリーは下記 (右側) のように変更された。
(ディレクトリ OneDrive の内容はそのまま保持されている)
 >_ Windows PowerShell 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新しいクロスプラットフォームの PowerShell をお試しください
 https://aka.ms/pscore6

PS C:\> tree C:\Users\User
フォルダー パスの一覧
ボリューム シリアル番号は 000000BC 8020:994B です
C:\USERS\USER
├─3D Objects
├─Contacts
├─Downloads
├─Favorites
│   └─Links
├─Links
├─Music
├─OneDrive
│   ├─デスクトップ -- A′
│   ├─ドキュメント -- B′
│   └─画像         -- C′
│       └─カメラ ロール
├─Saved Games
├─Searches
└─Videos
PS C:\> 




 → 
 >_ Windows PowerShell 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新しいクロスプラットフォームの PowerShell をお試しください
 https://aka.ms/pscore6

PS C:\> tree C:\Users\User
フォルダー パスの一覧
ボリューム シリアル番号は 000000BC 8020:994B です
C:\USERS\USER
├─3D Objects
├─Contacts
├─Desktop   -- A
├─Documents -- B
├─Downloads
├─Favorites
│   └─Links
├─Links
├─Music
├─OneDrive
│   ├─デスクトップ   -- ファイルはそのまま
│   ├─ドキュメント   --         〃
│   └─画像           --         〃
│       └─カメラ ロール
├─Pictures  -- C
│   └─Camera Roll
├─Saved Games
├─Searches
└─Videos
PS C:\>
A′A
B′B
C′C
とリンクが変更されたのでファイルエクスプローラで「ドキュメント\」をアクセスすると
「Documents\」を操作することになる。(ローカルリンクは元に戻った。ファイルは戻っていない)

3-4. クラウドとのリンクを解除する。
システムトレイの OneDrive アイコンを右クリックし、
表示されるメニューから「 設定(B) 」を選択する。
 ⇓
Ω アカウント」から「この PC からリンクを解除する」をクリックする。
 ⇓
ボタンをクリックする。
 ⇓
OneDrive のサインイン画面が表示される。

 ×  をクリックしてこのウィンドウを閉じる。


4. ファイルの移動

上記 3 の実施では OneDrive のディレクトリにファイルが移動されたままなので、
これらをすべて標準ディレクトリへ移動して復元する。(手動で)

このとき Windows のバグによって、同じ名前で複数のディレクトリができるという不思議な現象が起きる。
紛らわしいので、同じ名前は単一のディレクトリに統合しておくこと。(もちろん手動で)


   ここから下は危険なコマンドの実行を含んでいるため、作業には十分な注意が必要   
GUI しか操作したことの無い人は実施しないほうが良い


5. Microsoft OneDrive のアンインストール

5-1. アンインストールの準備
下記 6 で使用する OneDrive のCLSID(クラスアイディー) を取得しておく。

• 管理者ユーザで OneDrive をインストールした場合
 >_ Windows PowerShell 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6                                    

PS C:\> Reg Query HKCR\CLSID\ /s /f "OneDrive" /e

HKEY_CLASSES_ROOT\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}
    (既定)    REG_SZ    OneDrive

検索の完了: 該当 1 件
PS C:\> 
下線部が CLSID。OneDrive の場合は固定値らしい。
• 通常ユーザから OneDrive をインストールした場合。(管理者で PoorShell を起動する)
ユーザの SID (破線部) を求めてから CLSID を取得する。
 >_ 管理者: Windows PowerShell 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6

PS C:\> Get-WmiObject Win32_UserAccount | Select-Object Name,Sid | Select-String "Name=User"

@{Name=User; Sid=S-1-5-21-2770547651-430051572-180224888-1001}

PS C:\> $SID="S-1-5-21-2770547651-430051572-180224888-1001"
PS C:\> Reg Query HKU\$SID\SOFTWARE\Classes\CLSID\ /s /f "OneDrive" /e

HKEY_USERS\S-1-5-21-2770547651-430051572-180224888-1001\SOFTWARE\Classes\CLSID\{018D5C66-4533-4307-9B53-224DE2ED1FE6}
    (既定)    REG_SZ    OneDrive

PS C:\> 
下線部が CLSID。OneDrive の場合は固定値らしい。
5-2. Microsoft OneDrive をアンインストールする。
5-2-1. コントロールパネルから OneDrive をアンインストールする。
スタート - Windows システムツール をたどり「コントロール パネル」から「プログラムのアンインストール」を選択する。
Microsoft OneDrive を右クリックし
「アンインストール(U)」を選択する。
5-2-2. PC を再起動する。
プロセスが掴んだままになっている OneDrive の DLL を開放する。


6. レジストリとディレクトリの掃除

6-1. レジストリを掃除する。
レジストリエディタを使用し、上記 5-1 で取得した CLSID に合致するキーをすべて削除する。

 >_ 管理者: Windows PowerShell 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6                                                    

PS C:\> RegEdit

PS C:\> 

以下は RegEdit の検索画面 (Ctrl+F) の例。
 検索× 
検索する値(N):  
 検索対象      ↑ 中括弧 {} も含める。
   キー(K)
   値(V)
   データ(D)
  完全に一致するものだけを検索(W)
6-2. システムディレクトリを掃除する。
 >_ 管理者: Windows PowerShell 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6

PS C:\> Remove-Item "$Env:PROGRAMDATA\Microsoft OneDrive" -Recurse
PS C:\> Remove-Item "$Env:PROGRAMDATA\Microsoft\Windows\WER\ReportArchive\AppCrash_OneDrive.exe_*" -Recurse
PS C:\> Remove-Item "$Env:SystemRoot\Prefetch\OneDrive.exe-*.pf"
PS C:\> Remove-Item "$Env:SystemRoot\Prefetch\OneDriveSetup.exe-*.pf"
PS C:\> Remove-Item "$Env:SystemRoot\ServiceProfiles\LocalService\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\OneDrive.*"
PS C:\> Remove-Item "$Env:SystemRoot\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\OneDrive.*"

PS C:\> 
6-3. ユーザごとの OneDrive ディレクトリを削除する。
全ユーザの %LOCALAPPDATA%\Microsoft\ の中にある OneDrive ディレクトリを削除する。

6-3-1. ユーザと SID の一覧を取得する。
 >_ 管理者: Windows PowerShell 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6                               

PS C:\> Get-WmiObject Win32_UserAccount | Select-Object Name,Sid

Name               Sid
----               ---
Administrator      S-1-5-21-2770547651-430051572-180224888-500
DefaultAccount     S-1-5-21-2770547651-430051572-180224888-503
Guest              S-1-5-21-2770547651-430051572-180224888-501
WDAGUtilityAccount S-1-5-21-2770547651-430051572-180224888-504
User               S-1-5-21-2770547651-430051572-180224888-1001

PS C:\> 
SID の末尾が 1000 以上のユーザが対象。(500,501 等はシステムアカウントのため対象外)
6-3-2. 上記 6-3-1 で求めた全ユーザに対し、管理者アカウントで以下を実施する。
管理者アカウントかつ各ユーザのディレクトリにアクセスできるようにしておくこと。

 >_ 管理者: Windows PowerShell 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6

PS C:\> Remove-Item "$Env:HomeDrive\Users\User\AppData\Local\OneDrive" -Recurse
PS C:\> Remove-Item "$Env:HomeDrive\Users\User\AppData\Local\Microsoft\OneDrive" -Recurse
PS C:\> Remove-Item "$Env:HomeDrive\Users\User\AppData\Roaming\Microsoft\Windows\Recent\OneDrive.*"
PS C:\> Remove-Item "$Env:HomeDrive\Users\User\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\OneDrive.*"

PS C:\> 


7. 環境変数の削除

上記 6-3-1 で求めた全ユーザに対し、OneDrive の環境変数を削除する。

7-1. 「ユーザー アカウント」画面を開く
 >_ Windows PowerShell 
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6

PS C:\> control userpasswords ; exit
7-2. 環境変数を削除する。
環境変数の変更」をクリックする。
 ⇓
「ユーザー環境変数」の変数名「OneDrive」を選択し ボタンをクリックする。

その後 ボタンをクリックして当該画面を閉じる。