フォルダーリダイレクト廃止でOneDrive KFM移行ができない(Capabilities 0x101)原因と対処手順

在宅勤務でドメインに常時接続しない環境では、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 Folders
  • HKCU\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へ(バイパス)」を要件で選び、データ移行はツールで再現性を持って行う

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次