MS-102 GĐ5 Module 36

Deploy & Monitor Entra Connect

Triển khai Microsoft Entra Connect với custom settings, cấu hình filtering, Staging Mode và theo dõi sức khoẻ đồng bộ qua Entra Connect Health.

Tình huống thực tế – VinaCorp

VinaCorp có AD on-prem với 3.500 user, 2 domain forest (vinacorp.vn + subsidiary.local). IT cần triển khai Entra Connect: custom install để lọc chỉ sync OU Corp_UsersCorp_Groups, cấu hình staging server dự phòng, bật Entra Connect Health để alert khi sync lag >30 phút.

Express vs Custom Installation

Tiêu chíExpress SettingsCustom Settings
Phù hợpLab / single forest đơn giảnProduction đa forest, lọc OU
Sync methodPassword Hash Sync (mặc định)Chọn PHS / PTA / AD FS
OU FilteringSync toàn bộChọn OU cụ thể
Attribute FilteringKhông tuỳ chỉnhLọc attribute theo danh sách
Multi-forestKhông hỗ trợHỗ trợ GAL sync + gAL merge
Exchange hybridKhôngBật Exchange Hybrid writeback
Staging modeKhôngCó thể cấu hình
Service AccountTự động tạoDùng gMSA hoặc service account riêng

Yêu cầu server Entra Connect

  • Windows Server 2016+ (2022 recommended), không cài trên DC
  • NET Framework 4.7.2+, PowerShell 5.1+
  • SQL Server Express (tự cài) hoặc SQL Server Full nếu >100.000 objects
  • Port: 443 outbound to *.msappproxy.net, login.microsoftonline.com
  • Port 389/636 inbound từ Entra Connect tới DC
  • Tài khoản AD DS Connector cần Read permission toàn domain
  • Tài khoản Entra Connector cần Global Admin hoặc Hybrid Identity Admin

Lab A – Custom Install via Wizard

Thực hành tại: Entra Connect server — download installer từ Microsoft Download Center

Bước 1 – Tải & Chạy Installer

1Download AzureADConnect.msi từ Microsoft Download Center → double-click → Accept license
2Chọn "Use express settings" → chuyển sang "Customize" để vào custom path
3Chọn sign-in method: Password Hash Synchronization → tick Enable Single Sign-On

Bước 2 – Connect Directories

# Tại màn hình "Connect your directories" Forest: vinacorp.vn Account type: Create new AD account (hoặc Enterprise Admin) → Click "Add Directory" → Validate credentials → Repeat nếu có thêm forest

Bước 3 – OU Filtering

4Màn hình Domain and OU filtering → Deselect root → Tick chỉ:
✅ OU=Corp_Users,DC=vinacorp,DC=vn ✅ OU=Corp_Groups,DC=vinacorp,DC=vn ✅ OU=Service_Accounts,DC=vinacorp,DC=vn ❌ OU=Contractors (không sync)

Bước 4 – Uniquely Identifying Users

5Source Anchor: mặc định ms-DS-ConsistencyGuid (preferred). Nếu legacy AD: dùng objectGUID
ms-DS-ConsistencyGuid cho phép đổi UPN/SID mà không mất identity link giữa on-prem và cloud.

Bước 5 – Optional Features

✅ Password hash synchronization ✅ Password writeback ✅ Group writeback (requires Entra ID P1) ✅ Azure AD app and attribute filtering ❌ Exchange hybrid deployment (nếu không có Exchange on-prem)

Bước 6 – Configure & Install

6Review summary → Click Install. Sau cài, wizard tự chạy sync lần đầu. Đóng wizard → Xác minh bằng Synchronization Service Manager.

Staging Mode

Staging server: import và sync dữ liệu vào metaverse nhưng không export lên Entra ID. Dùng để test cấu hình mới hoặc sẵn sàng failover.

Trạng tháiImport từ ADExport lên EntraMục đích
Active serverSản xuất
Staging serverDự phòng / kiểm thử

Bật/Tắt Staging Mode

# Bật staging mode Start-ADSyncSyncCycle -PolicyType Initial # Via Wizard: re-run installer → "Configure staging mode" → Enable checkbox # Kiểm tra mode hiện tại Get-ADSyncGlobalSettings | Select-Object StagingModeEnabled
StagingModeEnabled : True
Chú ý: Khi promote staging server thành active, luôn disable active server TRƯỚC để tránh 2 server cùng export (split-brain).

Lab B – Quản lý Entra Connect via PowerShell

Chạy trên Entra Connect Server với quyền Admin

Xem trạng thái & Trigger Sync

# Xem kết quả sync cycle gần nhất Get-ADSyncScheduler # Trigger delta sync ngay Start-ADSyncSyncCycle -PolicyType Delta # Trigger full sync (Initial) — dùng sau khi thay đổi filter Start-ADSyncSyncCycle -PolicyType Initial
AllowedSyncCycleInterval : 00:30:00 CurrentlyRunning : False NextSyncCyclePolicyType : Delta NextSyncCycleStartTimeInUTC : 4/20/2026 8:00:00 AM SyncCycleEnabled : True

Xem lịch sử Connector Run

# Xem run history 10 run gần nhất Get-ADSyncConnectorRunStatus | Select-Object -First 10 | Format-Table ConnectorName, RunProfileName, Result, StartDate, EndDate -AutoSize
ConnectorName RunProfileName Result StartDate ------------------------- -------------- ------ --------- vinacorp.vn Delta Import success 4/20/2026 7:30 vinacorp.onmicrosoft.com Delta Export success 4/20/2026 7:31

Sửa OU Filter không cần cài lại

# Thêm OU mới vào scope sync $connector = Get-ADSyncConnector -Name "vinacorp.vn" $dn = "OU=New_Dept,DC=vinacorp,DC=vn" # Thêm vào included partition Add-ADSyncConnectorFilterInclude -Connector $connector -DistinguishedName $dn # Áp dụng cấu hình Set-ADSyncConnector -Connector $connector # Chạy full sync để áp dụng Start-ADSyncSyncCycle -PolicyType Initial

Entra Connect Health

Entra Connect Health cung cấp monitoring, alerting và usage analytics cho Entra Connect và AD DS. Yêu cầu Entra ID P1/P2.

Cài đặt Health Agent

# Tải từ Entra portal → Azure AD Connect Health # Hoặc cài bằng PowerShell (chạy trên Entra Connect server) Install-Module -Name MicrosoftEntraConnectHealth -Force # Đăng ký agent với Entra Register-MicrosoftEntraConnectHealthAgent -Type Sync
Registering agent... Agent ID : a1b2c3d4-... Status : Registered Tenant : vinacorp.onmicrosoft.com

Portal: Theo dõi trên Entra Admin Center

1Vào entra.microsoft.comIdentityHybrid managementMicrosoft Entra ConnectConnect Health
2Tab Sync errors: xem danh sách object lỗi, phân loại theo error type (AttributeValueMustBeUnique, InvalidSoftMatch...)
3Tab Sync services: xem latency graph — nếu lag >30 phút → alert tự động gửi email
4Tab Alerts: configure notification → Add email → [email protected]

Các Alert quan trọng cần bật

AlertNgưỡngHành động
Sync cycle not running>1 giờ không syncKiểm tra scheduler, service
Export errors increased>5% objects lỗiXem Sync errors tab
AD Connectivity lostDC unreachableKiểm tra firewall port 389/636
Password sync stoppedNo PHS eventsRe-enable PHS, restart service
Agent unhealthyHealth agent offlineRestart MicrosoftEntraConnectHealthAgent service

Lab C – Monitor via Graph API

Connect-MgGraph -Scopes "AuditLog.Read.All","Directory.Read.All" # Xem trạng thái sync gần nhất $syncStatus = Get-MgOrganization | Select-Object -ExpandProperty OnPremisesSyncEnabled Write-Host "Sync enabled: $syncStatus" # Xem tổng user synced $synced = Get-MgUser -Filter "onPremisesSyncEnabled eq true" -CountVariable c -All Write-Host "Total synced users: $($synced.Count)" # Xem user có lỗi sync Get-MgUser -Filter "onPremisesProvisioningErrors/any(e:e/category ne '')" -All | Select-Object DisplayName, UserPrincipalName, @{N='Error';E={$_.OnPremisesProvisioningErrors[0].Value}} | Format-Table -AutoSize
Sync enabled: True Total synced users: 3487 DisplayName UserPrincipalName Error ----------- ----------------- ----- Nguyen Thi Lan [email protected] AttributeValueMustBeUnique Tran Van Minh [email protected] InvalidSoftMatch

Troubleshooting Phổ Biến

LỗiNguyên nhânGiải pháp
stopped-server-downKhông kết nối DCKiểm tra port 389, DNS, firewall
AttributeValueMustBeUniqueProxyAddresses / UPN trùngDùng idFix sửa trước sync
InvalidSoftMatchUser cloud không match on-premXóa cloud user rồi re-sync, hoặc hard match bằng ImmutableID
Password writeback lỗiAzure AD P1 chưa assign / port blockedKiểm tra license, port 443 outbound
Sync cycle không chạyService stopped / scheduler disabledSet-ADSyncScheduler -SyncCycleEnabled $true
Duplicate ObjectGUIDAD migration tạo object mớiSet ms-DS-ConsistencyGuid thủ công để giữ link

Reset Hard Match bằng ImmutableID

# Lấy ImmutableID từ on-prem object $guid = (Get-ADUser -Identity "minh.tv" -Properties ObjectGUID).ObjectGUID $immutableId = [System.Convert]::ToBase64String($guid.ToByteArray()) # Gán cho cloud user Update-MgUser -UserId "[email protected]" -OnPremisesImmutableId $immutableId Write-Host "Hard match set: $immutableId"
Hard match set: tX3pYk1QAE2z/c8R4hLmNQ==

Tổng kết Module 36

Kiến thức cốt lõi
  • ✅ Custom install cho phép OU filter, multi-forest, Exchange hybrid
  • ✅ Staging Mode: import không export — dự phòng an toàn
  • ✅ ms-DS-ConsistencyGuid là Source Anchor tốt nhất cho production
  • ✅ Entra Connect Health cần Entra ID P1 để monitor & alert
  • ✅ Hard match bằng ImmutableID khi soft match thất bại
Lab đã thực hành
  • 🔬 Lab A: Custom install wizard, OU filter, optional features
  • 🔬 Lab B: PowerShell trigger sync, sửa OU filter, xem run history
  • 🔬 Lab C: Graph API xem sync errors, synced user count