Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Untuk menyediakan layanan autentikasi, Microsoft Entra Domain Services menyinkronkan pengguna dan grup dari ID Microsoft Entra. Di lingkungan hibrid, pengguna dan grup dari lingkungan Active Directory lokal Domain Services (AD DS) dapat terlebih dahulu disinkronkan ke ID Microsoft Entra menggunakan Microsoft Entra Connect, lalu disinkronkan ke Domain Services.
Secara default, semua pengguna dan grup dari direktori Microsoft Entra disinkronkan ke domain terkelola Domain Services. Jika Anda memiliki kebutuhan khusus, Anda dapat memilih untuk hanya menyinkronkan set pengguna yang ditentukan.
Artikel ini memperlihatkan kepada Anda cara membuat domain terkelola yang menggunakan sinkronisasi tercakup lalu mengubah atau menonaktifkan kumpulan pengguna tercakup menggunakan MS Graph PowerShell. Anda juga dapat menyelesaikan langkah-langkah ini menggunakan pusat admin Microsoft Entra.
Sebelum Anda mulai
Untuk menyelesaikan tutorial ini, Anda memerlukan sumber daya dan hak istimewa berikut:
- Langganan Azure aktif.
- Jika Anda tidak memiliki langganan Azure, buat akun.
- Penyewa Microsoft Entra yang terkait dengan langganan Anda, disinkronkan dengan direktori lokal atau direktori yang hanya ada di cloud.
- Jika diperlukan, buat instansi Microsoft Entra atau mengaitkan langganan Azure dengan akun Anda.
- Domain terkelola oleh Microsoft Entra Domain Services telah diaktifkan dan dikonfigurasi di dalam penyewa (tenant) Microsoft Entra Anda.
- Jika diperlukan, selesaikan tutorial untuk membuat dan mengonfigurasi domain terkelola Microsoft Entra Domain Services.
- Anda memerlukan Administrator Aplikasi dan Administrator Grup Microsoft Entra pada penyewa Anda untuk mengubah cakupan sinkronisasi Layanan Domain.
Gambaran umum sinkronisasi berbasis lingkup
Secara default, semua pengguna dan grup dari direktori Microsoft Entra disinkronkan ke domain terkelola. Jika hanya beberapa pengguna yang perlu mengakses domain terkelola, Anda hanya dapat menyinkronkan akun pengguna tersebut. Sinkronisasi tercakup ini berbasis grup. Saat Anda mengonfigurasi sinkronisasi tercakup berbasis grup, hanya akun pengguna yang termasuk dalam grup yang Anda tentukan yang disinkronkan ke domain terkelola. Grup berlapis tidak disinkronkan, hanya grup tertentu yang Anda pilih.
Anda dapat mengubah cakupan sinkronisasi sebelum atau sesudah Anda membuat domain terkelola. Cakupan sinkronisasi ditentukan oleh perwakilan layanan dengan pengidentifikasi aplikasi 2565bd9d-da50-47d4-8b85-4c97f669dc36. Untuk mencegah hilangnya cakupan, jangan menghapus atau mengubah prinsipal layanan. Jika tidak sengaja dihapus, cakupan sinkronisasi tidak dapat dipulihkan.
Ingatlah peringatan berikut jika Anda mengubah cakupan sinkronisasi:
- Sinkronisasi penuh terjadi.
- Objek yang tidak lagi diperlukan di domain terkelola akan dihapus. Objek baru dibuat di domain terkelola.
Untuk mempelajari selengkapnya tentang proses sinkronisasi, lihat Memahami sinkronisasi di Microsoft Entra Domain Services.
Skrip PowerShell untuk sinkronisasi yang ditentukan ruang lingkupnya
Untuk mengonfigurasi sinkronisasi tercakup menggunakan PowerShell, pertama-tama simpan skrip berikut ini ke file bernama Select-GroupsToSync.ps1.
Skrip ini mengonfigurasi Layanan Domain untuk menyinkronkan grup yang dipilih dari ID Microsoft Entra. Semua akun pengguna yang merupakan bagian dari grup yang ditentukan disinkronkan ke domain terkelola.
Skrip ini digunakan dalam langkah tambahan dalam artikel ini.
param (
[Parameter(Position = 0)]
[String[]]$groupsToAdd
)
Connect-MgGraph -Scopes "Directory.Read.All","AppRoleAssignment.ReadWrite.All"
$sp = Get-MgServicePrincipal -Filter "AppId eq '2565bd9d-da50-47d4-8b85-4c97f669dc36'"
$role = $sp.AppRoles | where-object -FilterScript {$_.DisplayName -eq "User"}
Write-Output "`n****************************************************************************"
Write-Output "Total group-assignments need to be added: $($groupsToAdd.Count)"
$newGroupIds = New-Object 'System.Collections.Generic.HashSet[string]'
foreach ($groupName in $groupsToAdd)
{
try
{
$group = Get-MgGroup -Filter "DisplayName eq '$groupName'"
$newGroupIds.Add($group.Id)
Write-Output "Group-Name: $groupName, Id: $($group.Id)"
}
catch
{
Write-Error "Failed to find group: $groupName. Exception: $($_.Exception)."
}
}
Write-Output "****************************************************************************`n"
Write-Output "`n****************************************************************************"
$currentAssignments = Get-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $sp.Id -All:$true
Write-Output "Total current group-assignments: $($currentAssignments.Count), SP-ObjectId: $($sp.Id)"
$currAssignedObjectIds = New-Object 'System.Collections.Generic.HashSet[string]'
foreach ($assignment in $currentAssignments)
{
Write-Output "Assignment-ObjectId: $($assignment.PrincipalId)"
if ($newGroupIds.Contains($assignment.PrincipalId) -eq $false)
{
Write-Output "This assignment is not needed anymore. Removing it! Assignment-ObjectId: $($assignment.PrincipalId)"
Remove-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $sp.Id -AppRoleAssignmentId $assignment.Id
}
else
{
$currAssignedObjectIds.Add($assignment.PrincipalId)
}
}
Write-Output "****************************************************************************`n"
Write-Output "`n****************************************************************************"
foreach ($id in $newGroupIds)
{
try
{
if ($currAssignedObjectIds.Contains($id) -eq $false)
{
Write-Output "Adding new group-assignment. Role-Id: $($role.Id), Group-Object-Id: $id, ResourceId: $($sp.Id)"
$appRoleAssignment = @{
"principalId"= $Id
"resourceId"= $sp.Id
"appRoleId"= $role.Id
}
New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $sp.Id -BodyParameter $appRoleAssignment
}
else
{
Write-Output "Group-ObjectId: $id is already assigned."
}
}
catch
{
Write-Error "Exception occurred assigning Object-ID: $id. Exception: $($_.Exception)."
}
}
Write-Output "****************************************************************************`n"
Mengaktifkan sinkronisasi tercakup
Untuk mengaktifkan sinkronisasi tercakup berbasis grup untuk domain terkelola, selesaikan langkah-langkah berikut:
Pertama-tama atur "filteredSync" = "Diaktifkan" pada sumber daya Layanan Domain, lalu perbarui domain terkelola.
Administrator Global diperlukan untuk mengelola fitur ini.
Masuk ke penyewa Microsoft Entra Anda menggunakan cmdlet Connect-MgGraph :
# Connect to your Entra ID tenant Connect-MgGraph -Scopes "Application.ReadWrite.All","Group.ReadWrite.All" # Retrieve the Microsoft Entra DS resource. $DomainServicesResource = Get-AzResource -ResourceType "Microsoft.AAD/DomainServices" # Enable group-based scoped synchronization. $enableScopedSync = @{"filteredSync" = "Enabled"} # Update the Microsoft Entra DS resource Set-AzResource -Id $DomainServicesResource.ResourceId -Properties $enableScopedSyncSekarang, tentukan daftar grup yang penggunanya harus disinkronkan ke domain terkelola.
Jalankan skrip
Select-GroupsToSync.ps1dan tentukan daftar grup yang akan disinkronkan. Dalam contoh berikut, grup yang akan disinkronkan adalah GroupName1 dan GroupName2.Peringatan
Anda harus menyertakan grup Administrator AAD DC dalam daftar grup untuk sinkronisasi tercakup. Jika Anda tidak menyertakan grup ini, domain terkelola tidak dapat digunakan.
.\Select-GroupsToSync.ps1 -groupsToAdd @("AAD DC Administrators", "GroupName1", "GroupName2")
Mengubah cakupan sinkronisasi menyebabkan domain terkelola menyinkronkan ulang semua data. Objek yang tidak lagi diperlukan di domain terkelola dihapus, dan sinkronisasi ulang mungkin memerlukan waktu lama untuk diselesaikan.
Mengubah sinkronisasi bercakupan
Untuk mengubah daftar grup yang penggunanya harus disinkronkan ke domain terkelola, jalankan skrip Select-GroupsToSync.ps1 dan tentukan daftar grup baru yang akan disinkronkan.
Dalam contoh berikut, grup yang akan disinkronkan tidak lagi menyertakan GroupName2, dan sekarang menyertakan GroupName3.
Peringatan
Anda harus menyertakan grup Administrator AAD DC dalam daftar grup untuk sinkronisasi tercakup. Jika Anda tidak menyertakan grup ini, domain terkelola tidak dapat digunakan.
Administrator Global diperlukan untuk mengelola fitur ini.
Masuk ke penyewa Microsoft Entra Anda menggunakan cmdlet Connect-MgGraph.
.\Select-GroupsToSync.ps1 -groupsToAdd @("AAD DC Administrators", "GroupName1", "GroupName3")
Mengubah cakupan sinkronisasi menyebabkan domain terkelola menyinkronkan ulang semua data. Objek yang tidak lagi diperlukan di domain terkelola dihapus, dan sinkronisasi ulang mungkin memerlukan waktu lama untuk diselesaikan.
Menonaktifkan sinkronisasi ruang lingkup
Untuk menonaktifkan sinkronisasi tercakup berbasis grup untuk domain terkelola, atur "filteredSync" = "Dinonaktifkan" pada sumber daya Layanan Domain, lalu perbarui domain terkelola. Setelah selesai, semua pengguna dan grup dikonfigurasi untuk disinkronkan dari Microsoft Entra ID.
Administrator Global diperlukan untuk mengelola fitur ini.
Masuk ke penyewa Microsoft Entra Anda menggunakan cmdlet Connect-MgGraph :
# Connect to your Entra ID tenant
Connect-MgGraph -Scopes "Application.ReadWrite.All","Group.ReadWrite.All"
# Retrieve the Microsoft Entra DS resource.
$DomainServicesResource = Get-AzResource -ResourceType "Microsoft.AAD/DomainServices"
# Disable group-based scoped synchronization.
$disableScopedSync = @{"filteredSync" = "Disabled"}
# Update the Microsoft Entra DS resource
Set-AzResource -Id $DomainServicesResource.ResourceId -Properties $disableScopedSync
Mengubah cakupan sinkronisasi menyebabkan domain terkelola menyinkronkan ulang semua data. Objek yang tidak lagi diperlukan di domain terkelola dihapus, dan sinkronisasi ulang mungkin memerlukan waktu lama untuk diselesaikan.
Langkah berikutnya
Untuk mempelajari selengkapnya tentang proses sinkronisasi, lihat Memahami sinkronisasi di Microsoft Entra Domain Services.