在宅勤務でドメインに常時接続しない環境では、GPOのフォルダーリダイレクトを外しても設定が残り、OneDriveの既知のフォルダーのバックアップ(KFM)が「管理者によって禁止されています(Capabilities: 0x101)」になることがあります。原因と、VPN常時接続なしで移行する手順をまとめます。
リモートワーク移行で表面化する「フォルダーリダイレクト廃止」の難しさ
物理オフィスを廃止してフルリモートへ移行すると、従来の「オンプレミスのファイルサーバー+グループポリシー(GPO)のフォルダーリダイレクト」で成り立っていた運用が一気に崩れます。特に、デスクトップ/ドキュメント/ピクチャをファイルサーバーへリダイレクトしていた環境では、次のような“詰まり”が起きがちです。
- ユーザーは普段VPNに接続せず、ログオン時にドメインコントローラー(DC)へ到達しない
- GPOの適用/解除が端末側に反映されるタイミングが不定(もしくは反映されない)
- ローカルにはオフラインファイル(CSC)が残り、どれが最新かわからなくなる
- OneDrive for Business の「既知のフォルダーのバックアップ(Known Folder Move / KFM)」を有効化しようとするとブロックされる
結果として、管理者側は「GPOからユーザーを外した(あるいは無効にした)つもり」でも、クライアント側は“まだ管理されている”と認識し続け、KFMが起動できません。この状態でよく見かけるのが、次のメッセージです。
管理者によって既知のフォルダーの変更が禁止されています (Capabilities: 0x101)
なぜ起きるのか:フォルダーリダイレクトとKFMが参照するポイントは同じ
ポイントはシンプルで、Windowsの「既知のフォルダー(Known Folders)」の実体パスは、基本的にユーザー別レジストリで決まります。フォルダーリダイレクトはその値をネットワークパスへ書き換え、OneDriveのKFMもその値(と周辺の状態)を見て移動可否を判断します。
既知のフォルダーのパスが残りやすいレジストリキー
代表的には、以下の2つが中心です(ユーザーごと=HKCU)。
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell FoldersHKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
フォルダーリダイレクトを「無効」にしただけでは、これらの値がファイルサーバーのUNCパスを指したまま残ることがあります。するとOneDriveは「フォルダーの場所がポリシーで制御されている/変更できない」と判断し、KFMがブロックされます。
| 対象フォルダー | 主に見る値名(例) | よくあるリダイレクト状態 | ローカル復帰の例 | OneDrive移行後の例 |
|---|---|---|---|---|
| デスクトップ | Desktop | \\fileserver\home\%username%\Desktop | %USERPROFILE%\Desktop | %OneDrive%\Desktop |
| ドキュメント | Personal | \\fileserver\home\%username%\Documents | %USERPROFILE%\Documents | %OneDrive%\Documents |
| ピクチャ | My Pictures | \\fileserver\home\%username%\Pictures | %USERPROFILE%\Pictures | %OneDrive%\Pictures |
ここで重要なのは、GPOを外すことと既知のフォルダーのパスを戻すことが別問題になりやすい点です。GPOを外しても、端末側がそれを「適用解除」として処理しなければ、レジストリ値は残り続けます。特に在宅環境では、ログオン時にDCへ到達しないために“解除イベント”が発生しません。
「Capabilities: 0x101」が出る代表パターン
同じエラーメッセージでも、原因は1つとは限りません。現場でよくあるパターンを整理すると、切り分けが速くなります。
- パターン:フォルダーリダイレクトGPOが残っている
リンクが残っていたり、別のOUのGPOが当たっていたり、設定が「ローカルへ戻す」になっていても「フォルダーリダイレクトを管理しているGPO」として検知されることがあります。 - パターン:GPOは外したが、レジストリのパスがネットワークのまま
見た目はローカルに戻った“ように見える”のに、User Shell Foldersの値がUNCのまま残り、KFMが拒否するケースです。 - パターン:OneDrive側のポリシーで「既知のフォルダー移動」が禁止
OneDriveの管理テンプレート(ADMX)やIntuneの構成で「既知のフォルダーの移動をブロック」する設定が有効だと、同様のブロック表示になります。 - パターン:Windows 11で“見た目はローカル”でも内部状態が残る
GPOやレジストリがローカル値でも、過去のリダイレクト履歴やポリシー適用痕跡のせいでKFMが動かないと報告されることがあります。この場合は「ローカルに戻すGPO」自体も適用対象から外し、完全に未構成にするのが安全です。
移行設計の基本:最短で成功する考え方
最短で事故なく移行するための前提は次のとおりです。
- フォルダーリダイレクトを“撤廃”する(無効ではなく、設定項目が存在しない/ユーザーに一切適用されない状態に近づける)
- 既知のフォルダーのパスをローカルへ戻す(少なくともKFMが開始できる状態へ)
- その後にKFMでOneDriveへ移動(または、要件によりレジストリで直接OneDriveへ向ける)
- データ移行は「最新がどこにあるか」を確定してから実施(オフラインファイル同期を含む)
| アプローチ | 概要 | メリット | デメリット/注意点 | 向くケース |
|---|---|---|---|---|
| ローカル復帰 → KFM(推奨) | 既知フォルダーをいったんローカルに戻し、OneDriveのKFMでDesktop/Documents/Picturesを移動 | Microsoftの想定に近く、運用が安定しやすい。KFMの監視や復旧手順も用意されている | GPO解除の反映が必要。ユーザーに一度VPN+再ログオンしてもらう工程が入りやすい | 標準運用を目指す/端末台数が多い |
| レジストリで直接OneDriveへ(バイパス) | 既知フォルダーの実体パスをレジストリでOneDrive配下へ書き換え、データ移行は別ツールで実施 | KFMのUI操作が不要。ユーザー操作を最小化しやすい | 設計ミスがあるとパスが壊れやすい。KFMの保護機能を使わないため、テストと標準化が重要 | KFMが何らかの理由で使えない/短期で一括移行したい |
| Intune/MDMでKFMを強制(環境次第) | クラウド管理でKFMをサイレント適用し、GPO依存を減らす | 在宅前提の管理に強い。将来の運用が楽 | 端末要件・ライセンス・運用体制の整備が必要。今回の「一度だけ」のためには過剰になりがち | 今後もゼロトラスト/クラウド管理へ寄せたい |
実施前のチェックリスト:ここを押さえると移行が崩れない
作業に入る前に、最低限の棚卸しをしておくと、途中で「最新データがどこにあるのか」問題に引きずられません。
| 確認項目 | 見る場所/方法 | ポイント |
|---|---|---|
| 対象OS(Windows 10/11) | 資産管理/Intune/台帳 | Windows 11は挙動差が出ることがあるため、先行検証ユーザーを用意する |
| OneDriveクライアントの導入状況 | アプリ一覧/会社ポータル/管理ツール | サインイン済みか、同期先が正しいか(個人用OneDriveと混同しない) |
| オフラインファイル(CSC)の利用有無 | 同期センター/共有の設定 | 移行前に「オフライン側が最新」になっていないかを必ず確認する |
| フォルダーリダイレクトGPOの適用範囲 | GPMC/gpresult | 「別GPOが当たっている」事故を潰す。リンク順・強制・継承ブロックも確認 |
| 容量・ネットワーク | OneDrive容量/回線速度 | 初回同期が重いユーザーは、段階移行や夜間同期の案内を考える |
GPO側でやるべきこと:フォルダーリダイレクトを“完全無効化”する
ここでのゴールは「ユーザーが今後、フォルダーリダイレクトの管理対象にならない」状態を作ることです。単に無効化するよりも、設定項目を未構成に戻す/削除するほうが後々のトラブルが減ります。
運用上おすすめの手順
- フォルダーリダイレクトを設定しているGPOを特定し、影響範囲(OU、セキュリティフィルタ、WMIフィルタ、リンク順)を洗い出す
- そのGPO内の「フォルダーリダイレクト」設定を、対象フォルダーごとに未構成へ戻す(可能なら設定自体を削除)
- ユーザー側への適用を止めるだけでなく、同等の設定を持つ別GPOが存在しないかも確認する
- 過渡期に「ローカルへ戻すGPO」を作る場合でも、KFM開始前にそのGPOを適用対象から外す(残すとブロック要因になり得る)
最低1回は「端末がポリシー解除を認識する瞬間」が必要
在宅ユーザーはログオン時にDCへ到達しないため、GPOを外してもクライアントが解除を認識しません。Always On VPNを導入しない方針なら、現実的には一度だけ次のワークフローを踏んでもらう必要が出ます。
- VPNへ接続
- (オフラインファイル利用時)同期が完了するまで待機
gpupdate /force(可能なら/target:userを指定)- サインアウト(ログオフ)→ サインイン
この「一度だけのVPN」を、データ確定とポリシー解除の両方に使うイメージです。逆に言うと、ここをすっ飛ばすほど、後で「サーバー側が最新だった/ローカルが最新だった」論争が起きます。
クライアント側で“残った設定”を掃除する:レジストリ修正の考え方
GPOの解除が設計どおりでも、端末側に残った既知フォルダーのパスが原因でKFMが始まらないことがあります。ここでは、ユーザーごとのレジストリを正しい値へ戻すアプローチを紹介します。
なお、レジストリ操作は影響が大きい作業です。以下は実務で安全性を上げるための前提です。
- 必ず先行ユーザー(IT部門+現場ユーザー)で検証し、成功パターンをテンプレ化する
- 作業前に対象キーをエクスポートし、戻せる状態にする
- 可能ならPowerShellで自動化し、手作業でのタイプミスを無くす
王道:いったんローカルに戻してからOneDrive KFMを有効化する
基本はこのルートが最も安定します。KFMは「既知のフォルダーがローカルを指している」状態からの移動を想定しているためです。
手順の全体像
- フォルダーリダイレクトGPOがユーザーに適用されない状態にする
User Shell Foldersの値をローカル(%USERPROFILE%)へ戻す- サインアウト→サインイン(またはExplorer再起動)で反映
- OneDriveクライアントで「デスクトップ/ドキュメント/写真のバックアップ」をオンにする(KFM)
PowerShell例:ローカル復帰(ユーザーごと)
以下は「User Shell Folders」をローカルに戻す例です。端末標準化の都合でパスを変えている場合は、社内標準に合わせて調整してください。
$keyUser = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"
$values = @{
"Desktop" = "%USERPROFILE%\Desktop"
"Personal" = "%USERPROFILE%\Documents"
"My Pictures" = "%USERPROFILE%\Pictures"
}
foreach ($name in $values.Keys) {
New-ItemProperty -Path $keyUser -Name $name -Value $values[$name] -PropertyType ExpandString -Force | Out-Null
}
# 反映を確実にするため、Explorerを再起動(業務影響があるため実施タイミングに注意)
Stop-Process -Name explorer -Force
Start-Process explorer.exe
補足として、Shell Foldersは展開後の値(実パス)が入っていることが多く、手動で合わせるよりも、User Shell Foldersを正しくしてからOSに再計算させる運用がラクです。とはいえ環境によっては残存値が悪さをすることもあるため、先行検証で「どの値を消す/残す」が安全かを確定させてください。
KFMを有効化する際の実務ポイント
- OneDriveが業務アカウントでサインイン済みであること(サインイン前はバックアップ設定が出ない/完了しない)
- 既知フォルダー配下にアプリが固定で参照するパスがある場合、移動後に影響が出ないか確認(例:古いアプリの保存先)
- 大量データがある場合は、初回同期中のCPU/ディスク負荷が上がるため、社内ガイドを用意する
バイパス:レジストリで直接OneDrive配下へ向ける(KFMを使わない移行)
KFMが何らかの理由でブロックされ続ける場合や、ユーザー操作を極小化したい場合は「既知のフォルダーの向き先だけを先にOneDriveに変更し、データコピーは別ルートで行う」という方法があります。
この方法が成立する条件
- フォルダーリダイレクトGPOが将来的に再適用されない(再適用されると戻される)
- OneDriveの同期先(ルートフォルダー)が確定している(環境変数で参照できる)
- データ移行の“正”は別途確定できる(Migration Manager等でサーバー側をコピーする、など)
環境変数の確認(ユーザー端末で)
OneDriveのパスは環境により異なります。まず端末で次を確認し、実際に値が入っている変数を使ってください。
echo %OneDrive%
echo %OneDriveCommercial%
PowerShell例:OneDriveへ向ける(ユーザーごと)
$keyUser = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders"
# どちらか存在する方を使う(OneDrive for Business環境でCommercialの方が入っている場合がある)
$od = $env:OneDriveCommercial
if ([string]::IsNullOrWhiteSpace($od)) { $od = $env:OneDrive }
if ([string]::IsNullOrWhiteSpace($od)) {
throw "OneDriveの環境変数が見つかりません。OneDriveにサインイン済みか確認してください。"
}
$values = @{
"Desktop" = "$od\Desktop"
"Personal" = "$od\Documents"
"My Pictures" = "$od\Pictures"
}
foreach ($name in $values.Keys) {
New-ItemProperty -Path $keyUser -Name $name -Value $values[$name] -PropertyType ExpandString -Force | Out-Null
}
Stop-Process -Name explorer -Force
Start-Process explorer.exe
この時点では「フォルダーの向き先を変えただけ」で、ファイルサーバー上の既存データが自動でOneDriveに移るわけではありません。次の章で説明する「データ移行(コピー)」を別途行います。
データ移行:ファイルサーバーのデータをOneDriveへ持ってくる実務
既知フォルダーの向き先を切り替えた後に、最も大事なのがデータ移行です。ここを雑にやると、ユーザーは「昨日まであったファイルが消えた」と感じます。移行の原則は次の2つです。
- 最新の正本(ソース)を確定してからコピーする(オフラインファイルが絡むなら、VPN接続中に同期して“サーバー側を最新”へ寄せる)
- コピーはツールで再現性を持って行う(手作業ドラッグ&ドロップは事故が起きやすい)
| 手段 | 特徴 | 注意点 |
|---|---|---|
| SharePoint管理センターのMigration Manager | 管理者が一括で移行ジョブを作りやすい。進捗管理もしやすい | 移行元の権限、移行設計(誰のOneDriveに入れるか)の整理が必要 |
| SharePoint Migration Tool(SPMT) | 小〜中規模で扱いやすい。GUI中心で現場に説明しやすい | 大量データや複雑な条件では計画が必要。実施端末の要件を確認 |
| Robocopy(限定用途) | オンプレ側の整理や一時退避に強い。差分コピーの制御が柔軟 | OneDrive同期フォルダーへ直接Robocopyは競合を招くことがあるため、運用ルールを決める |
オフラインファイルがある場合の“正本確定”テンプレ
オフラインファイルを使っていた場合、移行日の手順をテンプレ化すると現場が回ります。
- ユーザーにVPN接続してもらう
- 同期センターでオフラインファイル同期が完了するまで待つ(未同期が残らない状態)
- 必要なら「サーバー側が最新」になったことを簡易確認(更新日時のサンプルチェック)
- その後にGPO更新(
gpupdate)と切り替え作業へ進む
この順番にしておくと、移行後に「ローカルにしか無かったファイル」が置き去りになる確率を下げられます。
現場で役立つ確認コマンドとチェック観点
「どのGPOが当たっているか」「既知フォルダーがどこを向いているか」が見えると、原因究明が一気に速くなります。
| 目的 | コマンド/場所 | 見どころ |
|---|---|---|
| ユーザーに適用されたGPOを一覧化 | gpresult /r | 「適用されたグループポリシーオブジェクト」にフォルダーリダイレクト系が残っていないか |
| HTMLレポートで追い込む | gpresult /h %TEMP%\gp.html | フォルダーリダイレクト設定が“未構成”になっているか、別GPOが混ざっていないか |
| 既知フォルダーの現在地を確認 | レジストリ(HKCUのShell Folders/User Shell Folders) | UNCパスが残っていないか。環境変数(%USERPROFILE%、%OneDrive%)の使い方が揃っているか |
| OneDriveのサインイン状態 | OneDriveクライアントの設定画面 | 業務アカウントでサインイン済みか。同期先が想定のテナントか |
トラブルシューティング:よくある詰まりと処方箋
ローカルに戻したはずなのに、KFMがまだ禁止される
- 「ローカルに戻すGPO」自体が適用され続けていないか確認し、適用対象から外す(もしくは未構成に戻す)
gpresult /hでフォルダーリダイレクトの項目が出てこない状態にするUser Shell FoldersにUNCが混ざっていないか、Desktop/Personal/My Pictures以外(例:DownloadsやFavorites)も見落としていないか確認する
切り替え後にデスクトップやドキュメントが空っぽに見える
- フォルダーの向き先は変わったが、データコピーが終わっていない可能性が高い
- オフラインファイル環境では「ローカルのキャッシュが最新」だったケースもあるため、移行前の同期手順を見直す
- OneDrive同期が追いついていないだけの場合もあるので、同期アイコン/状態を確認する
OneDriveのルートパスが端末ごとに違ってテンプレが効かない
- 環境変数(
%OneDrive%/%OneDriveCommercial%)を使い、パスを固定値にしない - 既知フォルダーのパスはExpandString(展開文字列)で設定し、ユーザー名や言語差異を吸収する
将来、VPN接続したら元のフォルダーリダイレクトに戻りそうで怖い
- GPOリンク・継承・フィルタを再点検し、フォルダーリダイレクト設定がユーザーへ当たらないことを再確認する
- 移行後は、古いフォルダーリダイレクトGPOを“保管目的で残す”のではなく、削除も含めて整理する(放置は再発の種)
運用のコツ:在宅前提で「二度と詰まらない」形にする
今回の移行は“一度きり”のプロジェクトになりがちですが、在宅前提の運用にするなら、再発防止の仕組みが重要です。
- 端末管理の中心を、可能な範囲でクラウド(Intune/MDM)へ寄せ、ログオン時DC到達を前提にしない
- OneDriveのKFMを標準化し、入社時セットアップ(もしくはAutopilot)で既知フォルダー保護が自然に有効になるようにする
- オフラインファイルの利用を続けるか再検討し、OneDriveに寄せるなら役割を整理する(両方を並立させるほど事故が増える)
- ユーザー向けには「どこに保存すべきか」「共有はどうするか」を短い手順書で統一する(運用が揺れるとデータが分散する)
まとめ:VPN常時接続なしでも、筋の良い手順なら移行できる
- フォルダーリダイレクトとOneDrive KFMは同じ“既知フォルダーの場所”を参照するため、解除後もレジストリ値が残るとKFMがブロックされる
- GPOは「無効」ではなく、フォルダーリダイレクト設定自体を未構成/削除し、ユーザーに一切適用されない状態にするのが安全
- 現実的には、一度だけVPN接続して同期(正本確定)+
gpupdate+再ログオンの工程を踏むと失敗しにくい - 移行方法は「ローカル復帰→KFM(推奨)」か「レジストリで直接OneDriveへ(バイパス)」を要件で選び、データ移行はツールで再現性を持って行う

コメント