راهنمای کامل استقرار و عیب‌یابی OneDrive Known Folder Move (KFM) برای تکنسین‌های هلپ دسک (۲۰۲۶)

راهنمای کامل استقرار OneDrive Known Folder Move با Group Policy و Intune، حل تداخل با Folder Redirection سنتی و رفع شایع‌ترین کدهای خطای KFM برای تیم هلپ دسک.

OneDrive KFM: راهنمای استقرار و عیب‌یابی ۲۰۲۶

به‌روزرسانی: ۲۷ ژوئن ۲۰۲۶

OneDrive Known Folder Move (KFM) یک قابلیت داخلی OneDrive Sync Client است که سه پوشه پروفایل ویندوز یعنی Desktop، Documents و Pictures را به‌صورت خودکار به فضای ابری OneDrive for Business ریدایرکت می‌کند، بدون نیاز به Folder Redirection سنتی مبتنی بر GPO. در عمل، اگر می‌خواهید بدون اسکریپت‌نویسی پیچیده پشتیبان‌گیری از داده‌های کاربر را تضمین کنید و در زمان جایگزینی دستگاه چند ساعت در ازای هر کاربر صرفه‌جویی کنید، KFM همان قابلیتی است که باید مستقر کنید. در این راهنما، مراحل استقرار با Group Policy و Intune، رفع تداخل با Folder Redirection قدیمی و عیب‌یابی شایع‌ترین خطاها را قدم‌به‌قدم پوشش می‌دهیم.

  • KFM فقط سه پوشه Desktop، Documents و Pictures را پشتیبانی می‌کند؛ پوشه‌های Downloads، Videos و Music پشتیبانی نمی‌شوند و نیاز به راهکار جداگانه دارند.
  • برای استقرار خاموش (Silent) باید سه پالیسی SilentAccountConfig، KFMSilentOptIn و KFMBlockOptOut به‌صورت همزمان فعال شوند؛ تنها یکی از آن‌ها کافی نیست.
  • وجود همزمان Folder Redirection سنتی روی همان پوشه‌ها باعث خطای 0x80070005 یا 0x8004de85 می‌شود و باید پیش از استقرار KFM کاملاً حذف شود.
  • حداقل نسخه OneDrive Sync Client برای KFM نسخه ۱۹.۱۷۴ یا بالاتر است؛ نسخه‌های Deferred Channel فعلی ۲۴.۲۰۰ و بالاتر هستند.
  • ابزار رسمی عیب‌یابی، گزارش‌گیر FieldEngineering در OneDrive Admin Center است که داده‌های Sync Health را در زمان واقعی نشان می‌دهد.
  • پالیسی KFMOptInWithWizard برای محیط‌های BYOD و KFMSilentOptIn برای دستگاه‌های Domain-Joined و Hybrid Azure AD Joined مناسب است.

KFM در OneDrive چیست و چه تفاوتی با Folder Redirection سنتی دارد؟

Known Folder Move (که در مستندات رسمی مایکروسافت با عنوان OneDrive Known Folder Backup هم شناخته می‌شود) قابلیتی است که داخل OneDrive Sync Client پیاده‌سازی شده و سه پوشه استاندارد پروفایل ویندوز را به مسیر %UserProfile%\OneDrive - <TenantName>\ منتقل می‌کند. تفاوت اصلی این رویکرد با Folder Redirection سنتی مبتنی بر GPO این است که داده‌ها به‌جای SMB Share روی فایل‌سرور، در فضای ابری ذخیره می‌شوند و کاربر آن‌ها را به‌صورت Files On-Demand هم در دسترس دارد.

در مدل سنتی Folder Redirection، تکنسین هلپ دسک باید فایل‌سرور را پشتیبان‌گیری کند، Quota مدیریت کند، Offline Files را تنظیم کند و در زمان مهاجرت کاربر بین دستگاه‌ها فرآیند Roaming Profile را اجرا کند. در مقابل، با KFM همه این مسئولیت‌ها به OneDrive منتقل می‌شود: Versioning رایگان داخل OneDrive وجود دارد، Quota پیش‌فرض هر کاربر در پلن‌های E3/E5 معادل ۱ ترابایت است (قابل افزایش تا ۵ ترابایت با درخواست به پشتیبانی)، و در زمان جایگزینی دستگاه کافی است کاربر در دستگاه جدید با همان حساب وارد OneDrive شود تا تمام داده‌ها به‌صورت ابری برگردند. در ادامه راهنمای ما برای عیب‌یابی Group Policy در ویندوز ۱۱، استقرار KFM یکی از پرکاربردترین سناریوهایی است که با GPO آن را پیاده‌سازی می‌کنیم.

یک نکته مهم که باید از همان ابتدای کار بدانید. KFM نه جایگزین Folder Redirection است و نه یک ابزار هم‌زیستی محدود با آن. اگر روی همان پوشه‌ای که می‌خواهید KFM فعال کنید، Folder Redirection سنتی هم پیکربندی شده باشد، KFM امتناع می‌کند و کد خطا برمی‌گرداند. این موضوع را در بخش حل تداخل KFM با Folder Redirection سنتی با جزئیات پوشش می‌دهیم.

پیش‌نیازها و معماری استقرار KFM

قبل از شروع استقرار، چک‌لیست پیش‌نیازها را تأیید کنید. پیش‌نیازها در دو لایه قرار دارند: لایه Client (دستگاه کاربر) و لایه Tenant (مایکروسافت ۳۶۵).

پیش‌نیازهای کلاینت

  • ویندوز ۱۰ نسخه ۱۷۰۹ یا بالاتر (پیشنهاد ما ویندوز ۱۱ 23H2 یا 24H2 است).
  • OneDrive Sync Client نسخه ۱۹.۱۷۴ یا بالاتر برای فعال‌سازی پایه و ۲۲.۲۴۸ یا بالاتر برای ویژگی‌های جدیدتر مثل تشخیص هوشمند تداخل.
  • دسترسی به اینترنت با باند پهن کافی. مثلاً برای کاربری با ۲۰ گیگابایت داده اولیه، انتظار داشته باشید همگام‌سازی اولیه روی خط ۱۰۰ مگابیتی حدود ۴۵ دقیقه طول بکشد.
  • دستگاه باید Domain-Joined، Hybrid Azure AD Joined یا Azure AD Joined باشد. دستگاه‌های Workgroup فقط با KFMOptInWithWizard کار می‌کنند.

پیش‌نیازهای Tenant

  • لایسنس OneDrive for Business Plan 1 یا بالاتر (موجود در Microsoft 365 Business Standard و E3/E5).
  • سیاست Sharing در OneDrive Admin Center باید Tenant ID شما را مجاز کند. این مورد پیش‌فرض فعال است، اما در محیط‌های با محدودیت Cross-Tenant باید چک شود.
  • Tenant ID خود را آماده داشته باشید. می‌توانید آن را از پورتال Microsoft Entra ID در صفحه Overview استخراج کنید.

استقرار KFM با Group Policy روی دامین

راه استاندارد و پایدار برای استقرار KFM در محیط‌های Domain-Joined استفاده از Group Policy است. اگر شما هم مثل من سال‌ها با GPO کار کرده‌اید، می‌دانید که OneDrive ADMX از قدیمی‌ترین و ساده‌ترین بخش‌های ADMX مایکروسافت است؛ کافی است یک بار درست تنظیم شود و سال‌ها بدون دردسر کار می‌کند.

گام ۱: نصب ADMX Templates در Central Store

ADMX و ADML فایل‌های OneDrive در مسیر %LocalAppData%\Microsoft\OneDrive\BuildNumber\adm\ هر دستگاهی که OneDrive نصب دارد، موجود است. آن‌ها را به Central Store دامین کپی کنید:

# این اسکریپت را روی یک کلاینت با OneDrive جدید اجرا کنید
# مقصد را با FQDN دامین خود جایگزین کنید

$OneDriveBuild = (Get-ChildItem "$env:LOCALAPPDATA\Microsoft\OneDrive" -Directory |
    Where-Object { $_.Name -match '^\d+\.' } |
    Sort-Object Name -Descending | Select-Object -First 1).FullName

$AdmxSource = Join-Path $OneDriveBuild "adm"
$CentralStore = "\\contoso.local\SYSVOL\contoso.local\Policies\PolicyDefinitions"

# کپی ADMX
Copy-Item "$AdmxSource\OneDrive.admx" -Destination $CentralStore -Force

# کپی ADML برای زبان انگلیسی
Copy-Item "$AdmxSource\en-US\OneDrive.adml" -Destination "$CentralStore\en-US\" -Force

Write-Host "ADMX منتقل شد. حالا GPMC را باز کنید." -ForegroundColor Green

گام ۲: ساخت GPO و فعال‌سازی سه پالیسی اصلی

در Group Policy Management Console یک GPO جدید بسازید (مثلاً OneDrive-KFM-Production) و آن را به OU کاربران Pilot لینک کنید. مسیر پالیسی‌ها: User Configuration → Policies → Administrative Templates → OneDrive. سه پالیسی زیر را به ترتیب فعال کنید:

  1. Silently sign in users to the OneDrive sync app with their Windows credentials (نام داخلی: SilentAccountConfig). این پالیسی OneDrive را با حساب AAD کاربر در پس‌زمینه راه‌اندازی می‌کند.
  2. Silently move Windows known folders to OneDrive (نام داخلی: KFMSilentOptIn). Tenant ID شما را به‌عنوان مقدار وارد کنید. در گزینه‌های اختیاری، Notification را روی Disabled قرار دهید تا کاربر اعلان «انتقال موفق شد» را نبیند.
  3. Prevent users from redirecting their Windows known folders to their PC (نام داخلی: KFMBlockOptOut). این پالیسی مانع برگرداندن پوشه‌ها به دستگاه توسط کاربر می‌شود.

گام ۳: اعمال و اعتبارسنجی

روی دستگاه کلاینت gpupdate /force اجرا کنید، سپس کاربر را Sign-Out و Sign-In کنید. در اولین لاگین، OneDrive به‌صورت خودکار راه‌اندازی می‌شود و پس از چند دقیقه پوشه‌های Desktop/Documents/Pictures را به %UserProfile%\OneDrive - Contoso\ منتقل می‌کند. برای تأیید موفقیت، Registry را چک کنید:

# بررسی وضعیت KFM در Registry. کلید زیر فقط در صورت موفقیت KFM وجود دارد
# مقدار باید با Tenant ID شما برابر باشد
$kfmKey = "HKCU:\Software\Microsoft\OneDrive\Accounts\Business1"
Get-ItemProperty -Path $kfmKey -Name "KfmFoldersProtectedNow" -ErrorAction SilentlyContinue

استقرار KFM با Microsoft Intune

برای دستگاه‌های Azure AD Joined و سناریوهای Modern Management، Intune مسیر استاندارد است. روش پیشنهادی استفاده از Settings Catalog در Intune است، نه ADMX Ingestion سنتی. Settings Catalog هم ساده‌تر است و هم خطاهای کمتری دارد. برای آشنایی با اصول کلی استقرار با Intune، راهنمای عیب‌یابی استقرار Windows Autopilot در Intune را هم مطالعه کنید.

گام به گام در Intune Admin Center

  1. وارد intune.microsoft.com شوید و به مسیر Devices → Configuration → Create → New Policy بروید.
  2. پلتفرم را Windows 10 and later و Profile type را Settings Catalog انتخاب کنید.
  3. در جستجو عبارت OneDrive را تایپ کنید و دسته OneDrive را اضافه کنید.
  4. سه تنظیم زیر را اضافه و فعال کنید (مقادیر مشابه GPO):
    • Silently sign in users to the OneDrive sync app with their Windows credentials
    • Silently move Windows known folders to OneDrive (Tenant ID را وارد کنید)
    • Prevent users from redirecting their Windows known folders to their PC
  5. پالیسی را به یک Azure AD Group مثل SG-OneDrive-KFM-Pilot Assign کنید.

پایش وضعیت در Intune

پس از Assignment، در صفحه پالیسی به تب Device assignment status بروید. یک پالیسی KFM به‌درستی Assign شده باید در ستون Status مقدار Succeeded داشته باشد. اگر مقدار Conflict دیدید، احتمالاً پالیسی دیگری همان setting را با مقدار متفاوت اعمال می‌کند. صادقانه بگویم، رایج‌ترین خطای استقرار KFM با Intune دقیقاً همین است.

حل تداخل KFM با Folder Redirection سنتی

این بخش، شایع‌ترین دلیل شکست استقرار KFM در سازمان‌هایی است که از قبل Folder Redirection سنتی روی Desktop/Documents داشته‌اند. وقتی KFM فعال می‌شود، OneDrive ابتدا بررسی می‌کند که آیا مسیر Desktop در پروفایل کاربر، یک junction به یک SMB Share است یا نه. اگر بله، با کد خطای 0x80070005 (Access Denied) یا 0x8004de85 (Folder Redirection conflict) خروج می‌کند و KFM اعمال نمی‌شود.

روش حل: بازگرداندن Folder Redirection و حذف امن آن

راه‌حل درست این است که Folder Redirection را به‌صورت کنترل‌شده Reverse کنید، نه اینکه ساده‌انگارانه GPO را حذف کنید. مراحل:

  1. در GPO فعلی Folder Redirection، تنظیم Redirect the folder back to the local userprofile location when policy is removed را به Enabled تغییر دهید. این تنظیم تضمین می‌کند داده‌ها هنگام حذف پالیسی به دستگاه کاربر برمی‌گردند.
  2. کاربر را Sign-Out و Sign-In کنید. این مرحله را در یک پنجره تعمیر و نگهداری اعلام‌شده انجام دهید، چون می‌تواند ۱۰ تا ۳۰ دقیقه طول بکشد.
  3. GPO Folder Redirection را Unlink کنید. Delete نکنید؛ اگر مشکلی پیش آمد، باید بتوانید سریع برگردید.
  4. روی کلاینت gpupdate /force اجرا کنید، سپس کاربر را دوباره Sign-Out و Sign-In کنید.
  5. حالا GPO جدید KFM را اعمال کنید.
# اسکریپت تشخیصی برای تأیید اینکه Desktop واقعاً Local است نه Redirect شده
# قبل از فعال‌سازی KFM این را روی دستگاه کاربر اجرا کنید

$desktop = [Environment]::GetFolderPath('Desktop')
$expected = Join-Path $env:USERPROFILE 'Desktop'

if ($desktop -eq $expected) {
    Write-Host "OK: Desktop در پروفایل محلی قرار دارد." -ForegroundColor Green
} else {
    Write-Warning "Desktop در $desktop قرار دارد. هنوز Folder Redirection فعال است!"
    Write-Warning "KFM با خطای 0x80070005 شکست خواهد خورد."
}

عیب‌یابی شایع‌ترین خطاهای KFM

در پنج سال گذشته‌ای که KFM را در محیط‌های مشتری مستقر کرده‌ام، پنج خطای زیر تقریباً ۹۰٪ تیکت‌های هلپ دسک را تشکیل می‌دهند. جدول مرجع زیر را در KB داخلی تیم خود قرار دهید:

کد خطامعناراه حل
0x8004de40OneDrive نتوانست با Tenant مشخص‌شده اتصال برقرار کندTenant ID را در GPO/Intune دوباره چک کنید. Proxy و TLS Inspection را موقتاً غیرفعال کنید.
0x80070005Access Denied (معمولاً تداخل با Folder Redirection)بخش حل تداخل با Folder Redirection را دنبال کنید.
0x8004de85Known Folder قبلاً Redirect شدهFR را Reverse کنید سپس KFM را فعال کنید.
0x80040c81کمبود فضا در OneDrive کاربرQuota کاربر را در OneDrive Admin Center افزایش دهید.
0x80070032پروتکل پشتیبانی‌نمی‌شود (معمولاً TLS 1.0/1.1)TLS 1.2 را در Internet Explorer و system-wide فعال کنید.

چطور لاگ‌های OneDrive را جمع‌آوری کنیم؟

برای موارد پیچیده، باید لاگ‌های دقیق OneDrive را جمع‌آوری و به مایکروسافت بدهید. ابزار رسمی FieldEngineering این کار را اتوماتیک می‌کند:

# فعال‌سازی لاگ تفصیلی OneDrive. این کلید Registry را فقط در محیط تست/عیب‌یابی فعال کنید
# لاگ‌ها در %TEMP%\OneDrive\ ذخیره می‌شوند

reg add "HKCU\Software\Microsoft\OneDrive" /v EnableEnterpriseTier /t REG_DWORD /d 1 /f
reg add "HKCU\Software\Microsoft\OneDrive" /v VerboseLogging /t REG_DWORD /d 1 /f

# OneDrive را Restart کنید
taskkill /im OneDrive.exe /f
Start-Sleep -Seconds 3
Start-Process "$env:LOCALAPPDATA\Microsoft\OneDrive\OneDrive.exe"

# پس از بازتولید مشکل، فولدر زیر را zip و ارسال کنید:
# %localappdata%\Microsoft\OneDrive\logs\Business1\

بررسی وضعیت KFM با PowerShell

برای تأیید گروهی موفقیت KFM روی چندین دستگاه (مثلاً پس از Maintenance Window)، اسکریپت زیر را با Configuration Manager یا Intune Proactive Remediation اجرا کنید. خروجی به‌صورت ساده Pass/Fail است و در گزارش Intune قابل مشاهده می‌شود:

# اسکریپت Detection برای Intune Proactive Remediation
# Exit Code 0 = KFM فعال است، Exit Code 1 = نیاز به اقدام

$tenantId = "00000000-0000-0000-0000-000000000000"  # Tenant ID خود را جایگزین کنید
$account  = "HKCU:\Software\Microsoft\OneDrive\Accounts\Business1"

try {
    $configured = Get-ItemPropertyValue -Path $account -Name "ConfiguredTenantId" -ErrorAction Stop
    $kfmState   = Get-ItemPropertyValue -Path $account -Name "KfmFoldersProtectedNow" -ErrorAction Stop

    if ($configured -eq $tenantId -and $kfmState -ne $null) {
        Write-Output "KFM فعال است. مقدار: $kfmState"
        exit 0
    } else {
        Write-Output "KFM پیکربندی نشده. Tenant: $configured"
        exit 1
    }
} catch {
    Write-Output "OneDrive Sync Client راه‌اندازی نشده."
    exit 1
}

این اسکریپت را به‌عنوان Detection Script در یک Proactive Remediation در Intune آپلود کنید و Remediation Script آن را خالی یا برابر با راه‌اندازی OneDrive قرار دهید. گزارش روزانه به شما می‌گوید چه درصدی از کاربران KFM فعال دارند.

پایش KFM در OneDrive Admin Center

سمت Server، OneDrive Admin Center در admin.onedrive.com یک گزارش Sync Health دارد که وضعیت همگام‌سازی همه کاربران شما را در یک نگاه نشان می‌دهد. این گزارش به‌صورت روزانه به‌روزرسانی می‌شود و شامل ستون‌های زیر است:

  • Sync errors: تعداد خطاهای فعال کاربر در ۷ روز گذشته
  • Files synced: تعداد فایل‌های همگام‌شده
  • OS version: نسخه ویندوز و OneDrive Client
  • Known folder move status: وضعیت KFM (Protected / Not Protected)

برای دسترسی به این گزارش به نقش Global Administrator یا SharePoint Administrator نیاز دارید. اگر در محیط Multi-Geo هستید، گزارش فقط داده‌های Geo اصلی Tenant را شامل می‌شود؛ برای Geoهای ثانویه باید گزارش جداگانه استخراج کنید. جزئیات کامل API این گزارش در مستندات OneDrive Sync Health آمده است.

بهترین روش‌های استقرار سازمانی

اگر می‌خواهید KFM را در یک سازمان با هزاران کاربر مستقر کنید، چند درس سختی که در طول استقرارهای متعدد یاد گرفته‌ام را به اشتراک می‌گذارم:

  1. همیشه با گروه Pilot شروع کنید. ۲۰ تا ۳۰ کاربر از تیم IT یا کاربران پیشرفته را برای دو هفته به‌عنوان Pilot انتخاب کنید. در این مدت Sync Health Report را روزانه چک کنید.
  2. قبل از KFM، فضای OneDrive کاربران را پاک‌سازی کنید. اگر کاربری از قبل ۹۰۰ گیگ از ۱ ترابایت فضای OneDrive خود را پر کرده، فعال‌سازی KFM روی Documents با ۱۰۰ گیگ داده باعث Quota Exceeded می‌شود.
  3. Files On-Demand را اجباری کنید. با پالیسی FilesOnDemandEnabled این قابلیت را Force کنید تا فضای دیسک محلی کاربر منفجر نشود.
  4. کاربر را آگاه کنید. KFM در نظر کاربر «جابجایی Desktop به یک پوشه عجیب با ابر در کنارش» است. ایمیل اطلاع‌رسانی قبل از Maintenance Window بفرستید و به آن‌ها بگویید چه چیزی تغییر خواهد کرد. این کار حجم تیکت‌های هلپ دسک را به‌شدت کم می‌کند. اصول کلی این نوع ارتباط با کاربران را در راهنمای جامع مدیریت Microsoft 365 پوشش داده‌ایم.
  5. برای دستگاه‌های Shared (مثل Kiosk یا Lab) KFM را غیرفعال کنید. KFM در دستگاه‌های اشتراکی منطقی نیست و باعث پر شدن سریع دیسک می‌شود. این دستگاه‌ها را در یک OU/Group جدا قرار دهید و KFM را روی آن‌ها اعمال نکنید.

مستندات رسمی مایکروسافت برای KFM در صفحه Redirect Known Folders در Microsoft Learn در دسترس است و توصیه می‌کنم پیش از استقرار Production آن را مطالعه کنید. مایکروسافت هر چند ماه یک‌بار توصیه‌های Best Practice خود را به‌روزرسانی می‌کند.

پرسش‌های متداول

آیا KFM می‌تواند پوشه Downloads را هم پشتیبانی کند؟

خیر. KFM به‌صورت رسمی فقط Desktop، Documents و Pictures را پشتیبانی می‌کند. برای پوشه Downloads باید از Symbolic Link یا تنظیم دستی مسیر در OneDrive استفاده کنید. هیچ‌کدام راهکار پشتیبانی‌شده توسط مایکروسافت نیستند و در محیط Enterprise توصیه نمی‌شوند.

اگر کاربر چند حساب OneDrive داشته باشد، KFM روی کدام اعمال می‌شود؟

KFM فقط روی حساب Business اعمال می‌شود که با Tenant ID مشخص‌شده در پالیسی مطابقت دارد. حساب‌های OneDrive Personal همچنان مستقل کار می‌کنند و KFM روی آن‌ها فعال نمی‌شود.

آیا می‌توان KFM را پس از فعال‌سازی به‌صورت گروهی Reverse کرد؟

بله، اما با احتیاط. باید پالیسی KFMBlockOptOut را غیرفعال کنید و سپس کاربر از طریق OneDrive Settings می‌تواند Stop Backup را بزند. در سطح گروهی، اسکریپتی برای حذف کلید Registry KfmFoldersProtectedNow نوشته نشده و این کار دستی باقی می‌ماند. به همین دلیل، KFM یک تصمیم استراتژیک است نه یک Toggle ساده.

چرا KFM در یک کاربر خاص کار می‌کند ولی در دیگری نه، با وجود همان GPO؟

۹۰٪ موارد، تفاوت در Folder Redirection باقی‌مانده از پروفایل قدیمی کاربر است. اسکریپت تشخیصی Desktop Path که در بخش حل تداخل آوردیم را اجرا کنید. ۱۰٪ باقی‌مانده معمولاً مربوط به Sign-In Token منقضی‌شده است که با Sign-Out کامل کاربر حل می‌شود.

KFM چه تأثیری روی پشتیبان‌گیری Endpoint مثل Veeam یا Acronis دارد؟

اکثر ابزارهای Endpoint Backup با Files On-Demand مشکل دارند: آن‌ها فایل‌های Cloud-Only را به‌اشتباه به‌عنوان فایل خالی پشتیبان می‌گیرند. توصیه ما این است که پس از KFM، پوشه OneDrive - <Tenant> را از Backup Job محلی Exclude کنید چون داده‌ها در فضای ابری ذخیره شده‌اند و Versioning OneDrive کار پشتیبان‌گیری را انجام می‌دهد.

Tom Hanley
درباره نویسنده Tom Hanley

Service desk lead and unapologetic Windows expert. Has opinions about Group Policy that he will share at length.