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_Users và Corp_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 Settings | Custom Settings |
|---|---|---|
| Phù hợp | Lab / single forest đơn giản | Production đa forest, lọc OU |
| Sync method | Password Hash Sync (mặc định) | Chọn PHS / PTA / AD FS |
| OU Filtering | Sync toàn bộ | Chọn OU cụ thể |
| Attribute Filtering | Không tuỳ chỉnh | Lọc attribute theo danh sách |
| Multi-forest | Không hỗ trợ | Hỗ trợ GAL sync + gAL merge |
| Exchange hybrid | Không | Bật Exchange Hybrid writeback |
| Staging mode | Không | Có thể cấu hình |
| Service Account | Tự động tạo | Dù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 objectGUIDms-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ái | Import từ AD | Export lên Entra | Mục đích |
|---|---|---|---|
| Active server | ✅ | ✅ | Sản xuất |
| Staging server | ✅ | ❌ | Dự 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.com → Identity → Hybrid management → Microsoft Entra Connect → Connect 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
| Alert | Ngưỡng | Hành động |
|---|---|---|
| Sync cycle not running | >1 giờ không sync | Kiểm tra scheduler, service |
| Export errors increased | >5% objects lỗi | Xem Sync errors tab |
| AD Connectivity lost | DC unreachable | Kiểm tra firewall port 389/636 |
| Password sync stopped | No PHS events | Re-enable PHS, restart service |
| Agent unhealthy | Health agent offline | Restart 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ỗi | Nguyên nhân | Giải pháp |
|---|---|---|
| stopped-server-down | Không kết nối DC | Kiểm tra port 389, DNS, firewall |
| AttributeValueMustBeUnique | ProxyAddresses / UPN trùng | Dùng idFix sửa trước sync |
| InvalidSoftMatch | User cloud không match on-prem | Xóa cloud user rồi re-sync, hoặc hard match bằng ImmutableID |
| Password writeback lỗi | Azure AD P1 chưa assign / port blocked | Kiểm tra license, port 443 outbound |
| Sync cycle không chạy | Service stopped / scheduler disabled | Set-ADSyncScheduler -SyncCycleEnabled $true |
| Duplicate ObjectGUID | AD migration tạo object mới | Set 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