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 に移動された。(紫色のディレクトリ がそれぞれに対応)
A → A′
B → B′
C → C′
と変更されたのでファイルエクスプローラで「ドキュメント\」をアクセスすると
「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) の例。
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」を選択し ボタンをクリックする。
その後 ボタンをクリックして当該画面を閉じる。