در تحول دیجیتال سازمانها و پروژههای ارتقای زیرساخت پورتالهای سازمانی (مانند ارتقا از SharePoint 2013 / 2016 به نسخه مدرن SharePoint Server Subscription Edition - SE)، انتقال امن دهها ترابایت اسناد، کتابخانهها، لیستهای سفارشی، سوابق دسترسیها و گردشکارهای فعال بدون وقفه عملیاتی بزرگترین چالش تیمهای زیرساخت است.
نرمافزار ShareGate Desktop استاندارد صنعتی جهانی برای مهاجرت، گزارشگیری امنیتی و مدیریت محتوای مایکروسافت شیرپوینت است. در پروژههای بزرگ با بیش از ۵۰ سایتکالکشن و میلیونها سند، انجام مهاجرت دستی از طریق رابط گرافیکی (GUI) ناکارآمد، کند و مستعد خطای انسانی است. رویکرد حرفهای، استفاده از خط فرمان و ماژولهای اسکریپتنویسی خودکار PowerShell به همراه پیکربندی بهینه صفهای پردازش است. در این مقاله جامع، تمامی گامهای فنی مهاجرت خودکار و تثبیت لایسنس پایدار آفلاین بررسی میشود.
۱. توپولوژی معماری و جریان مهاجرت با ماشینهای اختصاصی Migration Runner #
در سناریوهای مقیاس کلان، نباید فرآیند مهاجرت را از روی سرورهای اصلی Farm اجرا کرد؛ زیرا خواندن مداوم جداول محتوایی موجب اشغال حافظه SQL و افت سرعت کاربران پروداکشن میشود. راهکار استاندارد، استقرار یک یا چند ماشین مجازی اختصاصی (Dedicated Migration Runners) مجهز به پردازندههای پرسرعت و درایوهای NVMe به عنوان پل ارتباطی بین فارم مبدا و مقصد است:
[فارم شیرپوینت مبدا (Source Farm)]
┌─────────────────────────────────────────┐
│ SharePoint 2013 / 2016 On-Premises │
│ Core Content DBs: 15 Terabytes │
│ 192.168.10.30 │
└───────────────────┬─────────────────────┘
│ CSOM / REST Read API (No Agent Needed)
▼
[ماشین واسط مهاجرت (Migration Runner)]
┌─────────────────────────────────────────┐
│ ShareGate Desktop PowerShell Engine │
│ Parallel Sessions / NVMe Temp Cache │
│ 192.168.10.40 │
└───────────────────┬─────────────────────┘
│ CSOM / Server-Side API Write
▼
[فارم شیرپوینت مقصد (Destination Farm)]
┌─────────────────────────────────────────┐
│ SharePoint Server Subscription Edition │
│ High-Performance AlwaysOn SQL Cluster │
│ 192.168.20.50 │
└─────────────────────────────────────────┘
۲. اسکریپت جامع PowerShell جهت مهاجرت دستهای سایتکالکشنها #
اسکریپت زیر با بهرهگیری از ماژول رسمی ShareGate، فرآیند خواندن آدرس سایتها از یک فایل CSV، انتقال ساختار، حفظ تاریخچه نگارشها (Versions)، نگهداری اطلاعات نویسنده اصلی (Author/Editor) و تاریخ ایجاد را بدون نیاز به حضور ادمین به صورت خودکار انجام میدهد:
# بارگذاری ماژول ShareGate PowerShell
Import-Module Sharegate
$SourceTenantUrl = "http://sp2016.corp.local"
$DestTenantUrl = "https://spse.corp.local"
$CsvPath = "C:\Migration\SitesToMigrate.csv"
$LogDir = "C:\Migration\Logs"
# تنظیم پارامترهای طلایی مهاجرت
$CopySettings = New-CopySettings -OnContentDouble "KeepBoth" `
-CheckError `
-PreserveFileTimestamps `
-PreserveAuthorsAndEditors `
-PreserveVersionHistory `
-VersionHistoryLimit 20
# اتصال امن به فارمهای مبدا و مقصد با دسترسی Farm Administrator
$SourceSite = Connect-Site -Url $SourceTenantUrl -UseCredentialsFromCredentialManager "SP_Farm_Admin"
$DestSite = Connect-Site -Url $DestTenantUrl -UseCredentialsFromCredentialManager "SP_Farm_Admin"
# خواندن لیست سایتها و اجرای مهاجرت موازی
$SiteList = Import-Csv -Path $CsvPath
foreach ($Row in $SiteList) {
$SubSourceUrl = "$SourceTenantUrl/$($Row.RelativePath)"
$SubDestUrl = "$DestTenantUrl/$($Row.RelativePath)"
Write-Host "Migrating Site: $SubSourceUrl to $SubDestUrl" -ForegroundColor Cyan
$SourceSubSite = Connect-Site -Url $SubSourceUrl
$DestSubSite = Connect-Site -Url $SubDestUrl
# انتقال سایت شامل تمامی لیستها، کتابخانهها و ورکفلوها
$Result = Copy-Site -Site $SourceSubSite -DestinationSite $DestSubSite -Merge -CopySettings $CopySettings
# خروجی گزارش لاگ خطاها و موارد رد شده
$LogFile = "$LogDir\$($Row.SiteName)_MigrationLog.xlsx"
Export-Report $Result -Path $LogFile
}
۳. مهاجرت ورکفلوهای Nintex Workflow & Forms و نگهداری سوابق در حال اجرا #
مهاجرت فرمها و فرآیندهای نینتکس نیازمند رعایت پیشنیازهای زیر در فارم مقصد است:
۱. نصب و فعالسازی اکستنشنهای Nintex در فارم مقصد: قبل از شروع کپی سایت با ShareGate، بستههای Solution شیرپوینت نینتکس (nintexworkflow2019.wsp و nintexforms2019.wsp) باید بر روی فارم مقصد مستقر و در سطح Web Application فعال شده باشند.
۲. تنظیم نگاشت نام حسابهای کاربری (User Mapping): در صورتی که دامنههای مبدا و مقصد تغییر کردهاند، فایل نگاشت کاربران در مسیر Copy Management -> Map Users and Groups بارگذاری میشود تا دسترسی تاییدکنندگان وظایف (Task Approvers) بدون خطا بازسازی گردد.
۳. تسکهای در حال اجرا (In-Flight Workflows): فرآیندهایی که در میانه راه هستند نباید به صورت نیمهکاره منتقل شوند. بهترین راهبرد، تکمیل یا خاتمه فرآیندهای جاری در فارم مبدا پیش از انجام Cut-over نهایی و آغاز فرآیندهای جدید در فارم مقصد است.
۴. استراتژی حل و فصل شکست وراثت دسترسیها (Broken Permission Inheritance) #
در سایتهایی با بیش از یک دهه سابقه، هزاران پوشه و سند دسترسی اختصاصی (Unique Permissions) دارند که موجب کندی شدید در زمان مهاجرت و کاهش کارایی کوئریهای شیرپوینت میشود.
-
گزارشگیری پیش از مهاجرت (Permission Matrix Report): پیش از آغاز کپی، با اجرای گزارش ماتریس دسترسیها در ShareGate، لیست پوشهها و اسنادی که وراثت دسترسی شکسته دارند استخراج شده و با همکاری مدیران بیزینس استانداردسازی میشود.
-
بازسازی خودکار گروههای شیرپوینتی: سوییچ
-CopyPermissionsاطمینان میدهد که تمام گروههای امنیتی به همراه اعضای درونگروهی به درستی به فارم جدید منتقل میگردند.
۵. لایسنسینگ دائمی و معتبر آفلاین ShareGate Desktop توسط Licentra #
نسخه رسمی ShareGate نیازمند ارتباط ماهانه با سرورهای شرکت برای اعتبارسنجی لایسنس اشتراکی است. در زیرساختهای بانکی و نظامی بدون اینترنت:
مزایای پکیج سازمانی Licentra:
-
مهاجرت نامحدود دادهها (Uncapped Data Volume): بدون محدودیت حجم ترابایتی دادهها در مهاجرت.
-
فعالسازی دائمی آفلاین بر اساس شناسه سختافزاری: بدون تماس با اینترنت، پایدار در شبکههای امنیتی Air-Gapped.
-
پشتیبانی کامل از ماژول PowerShell Automation: قابلیت اجرای اسکریپتهای شبانه اتوماتیک در مقیاسهای کلان سازمانی.
# بررسی لایسنس و نسخه فعال ShareGate در سیستم
Get-Module -Name Sharegate | Select-Object Name, Version
این متدولوژی مدون، متضمن اجرای پروژههای عظیم ارتقا و جابجایی پورتالهای سازمانی با بالاترین سرعت، حداقل هزینه و صفر درصد خطای دادهای است.



