Microsoft Entra Domain Services inschakelen met Behulp van PowerShell

Microsoft Entra Domain Services biedt beheerde domeinservices zoals domeindeelname, groepsbeleid, LDAP, Kerberos/NTLM-verificatie die volledig compatibel is met Windows Server Active Directory. U gebruikt deze domeinservices zonder zelf domeincontrollers te implementeren, te beheren en er patches op toe te passen. Domain Services kan worden geïntegreerd met uw bestaande Microsoft Entra-tenant. Met deze integratie kunnen gebruikers zich aanmelden met behulp van hun bedrijfsreferenties, en u kunt bestaande groepen en gebruikersaccounts gebruiken om de toegang tot resources te beveiligen.

In dit artikel leest u hoe u Domain Services inschakelt met behulp van PowerShell.

Notitie

Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

Vereisten

U hebt de volgende resources nodig om dit artikel te voltooien:

  • Installeer en configureer Azure PowerShell.

  • Installeer en configureer MS Graph PowerShell.

  • U hebt globale beheerdersbevoegdheden in uw Microsoft Entra-tenant nodig om Domain Services in te schakelen.

  • U hebt inzenderbevoegdheden in uw Azure-abonnement nodig om de vereiste Domain Services-resources te maken.

    Belangrijk

    Hoewel de PowerShell-module Az.ADDomainServices in preview is, moet u deze afzonderlijk installeren met behulp van de Install-Module cmdlet.

    Install-Module -Name Az.ADDomainServices
    

Vereiste Microsoft Entra-resources maken

Domain Services vereist een service-principal voor verificatie en communicatie en een Microsoft Entra-groep om te definiëren welke gebruikers beheerdersmachtigingen hebben in het beheerde domein.

Maak eerst een Microsoft Entra-service-principal met behulp van een specifieke toepassings-id met de naam Domain Controller Services. De id-waarde is 2565bd9d-da50-47d4-8b85-4c97f669dc36 voor globale Azure en 6ba9a5d4-8456-4118-b521-9c5ca10cdf84 voor andere Azure-clouds. Wijzig deze toepassings-id niet.

Maak een Microsoft Entra-service-principal met behulp van de cmdlet New-MgServicePrincipal :

New-MgServicePrincipal -AppId "2565bd9d-da50-47d4-8b85-4c97f669dc36"

Maak nu een Microsoft Entra-groep met de naam AAD DC Beheer istrators. Aan gebruikers die zijn toegevoegd aan deze groep, worden vervolgens machtigingen verleend voor het uitvoeren van beheertaken in het beheerde domein.

Haal eerst de groepsobject-id van de AAD DC-Beheer istrators op met behulp van de cmdlet Get-MgGroup. Als de groep niet bestaat, maakt u deze met de groep AAD DC Beheer istrators met behulp van de cmdlet New-MgGroup:

# First, retrieve the object ID of the 'AAD DC Administrators' group.
$GroupObject = Get-MgGroup `
  -Filter "DisplayName eq 'AAD DC Administrators'"

# If the group doesn't exist, create it
if (!$GroupObject) {
  $GroupObject = New-MgGroup -DisplayName "AAD DC Administrators" `
    -Description "Delegated group to administer Microsoft Entra Domain Services" `
    -SecurityEnabled:$true `
    -MailEnabled:$false `
    -MailNickName "AADDCAdministrators"
  } else {
  Write-Output "Admin group already exists."
}

Als de groep AAD DC Beheer istrators is gemaakt, haalt u de object-id van de gewenste gebruiker op met behulp van de cmdlet Get-MgUser en voegt u de gebruiker vervolgens toe aan de groep met behulp van de cmdlet New-MgGroupMember.

In het volgende voorbeeld ziet u de gebruikersobject-id voor het account met een UPN van admin@contoso.onmicrosoft.com. Vervang dit gebruikersaccount door de UPN van de gebruiker die u wilt toevoegen aan de groep AAD DC Administrators:

# Retrieve the object ID of the user you'd like to add to the group.
$UserObjectId = Get-MgUser `
  -Filter "UserPrincipalName eq 'admin@contoso.onmicrosoft.com'" | `
  Select-Object Id

# Add the user to the 'AAD DC Administrators' group.
New-MgGroupMember -GroupId $GroupObject.Id -DirectoryObjectId $UserObjectId.Id

Netwerkbronnen maken

Registreer eerst de Microsoft Entra Domain Services-resourceprovider met behulp van de cmdlet Register-AzResourceProvider :

Register-AzResourceProvider -ProviderNamespace Microsoft.AAD

Maak vervolgens een resourcegroep met behulp van de New-AzResourceGroup-cmdlet. De resourcegroep in het volgende voorbeeld heet myResourceGroup en is gemaakt in de regio westus. Gebruik uw eigen naam en gewenste regio:

$ResourceGroupName = "myResourceGroup"
$AzureLocation = "westus"

# Create the resource group.
New-AzResourceGroup `
  -Name $ResourceGroupName `
  -Location $AzureLocation

Maak het virtuele netwerk en de subnetten voor Microsoft Entra Domain Services. Er zijn twee subnetten gemaakt: één voor DomainServices en één voor Workloads. Domain Services wordt geïmplementeerd in het toegewezen DomainServices-subnet . Implementeer geen andere toepassingen of workloads in dit subnet. Gebruik de afzonderlijke workloads of andere subnetten voor de rest van de VM's.

Maak de subnetten met behulp van de New-AzVirtualNetworkSubnetConfig-cmdlet. Maak vervolgens het virtuele netwerk met behulp van de New-AzVirtualNetwork-cmdlet.

$VnetName = "myVnet"

# Create the dedicated subnet for Microsoft Entra Domain Services.
$SubnetName = "DomainServices"
$AaddsSubnet = New-AzVirtualNetworkSubnetConfig `
  -Name $SubnetName `
  -AddressPrefix 10.0.0.0/24

# Create an additional subnet for your own VM workloads
$WorkloadSubnet = New-AzVirtualNetworkSubnetConfig `
  -Name Workloads `
  -AddressPrefix 10.0.1.0/24

# Create the virtual network in which you will enable Microsoft Entra Domain Services.
$Vnet= New-AzVirtualNetwork `
  -ResourceGroupName $ResourceGroupName `
  -Location westus `
  -Name $VnetName `
  -AddressPrefix 10.0.0.0/16 `
  -Subnet $AaddsSubnet,$WorkloadSubnet

Een netwerkbeveiligingsgroep maken

Domain Services heeft een netwerkbeveiligingsgroep nodig om de poorten te beveiligen die nodig zijn voor het beheerde domein en om al het andere binnenkomende verkeer te blokkeren. Een netwerkbeveiligingsgroep (NSG: Network Security Group) bevat een lijst met beveiligingsregels waarmee netwerkverkeer naar verkeer in een virtueel Azure-netwerk wordt toegestaan of geweigerd. In Domain Services fungeert de netwerkbeveiligingsgroep als een extra beveiligingslaag om de toegang tot het beheerde domein te vergrendelen. Zie Netwerkbeveiligingsgroepen en vereiste poortenom de vereiste poorten weer te geven.

De volgende PowerShell-cmdlets gebruiken New-AzNetworkSecurityRuleConfig om de regels te maken en vervolgens New-AzNetworkSecurityGroup om de netwerkbeveiligingsgroep te maken. De netwerkbeveiligingsgroep en regels worden vervolgens gekoppeld aan het subnet van het virtuele netwerk met behulp van de set-AzVirtualNetworkSubnetConfig-cmdlet.

$NSGName = "dsNSG"

# Create a rule to allow inbound TCP port 3389 traffic from Microsoft secure access workstations for troubleshooting
$nsg201 = New-AzNetworkSecurityRuleConfig -Name AllowRD `
    -Access Allow `
    -Protocol Tcp `
    -Direction Inbound `
    -Priority 201 `
    -SourceAddressPrefix CorpNetSaw `
    -SourcePortRange * `
    -DestinationAddressPrefix * `
    -DestinationPortRange 3389

# Create a rule to allow TCP port 5986 traffic for PowerShell remote management
$nsg301 = New-AzNetworkSecurityRuleConfig -Name AllowPSRemoting `
    -Access Allow `
    -Protocol Tcp `
    -Direction Inbound `
    -Priority 301 `
    -SourceAddressPrefix AzureActiveDirectoryDomainServices `
    -SourcePortRange * `
    -DestinationAddressPrefix * `
    -DestinationPortRange 5986

# Create the network security group and rules
$nsg = New-AzNetworkSecurityGroup -Name $NSGName `
    -ResourceGroupName $ResourceGroupName `
    -Location $AzureLocation `
    -SecurityRules $nsg201,$nsg301

# Get the existing virtual network resource objects and information
$vnet = Get-AzVirtualNetwork -Name $VnetName -ResourceGroupName $ResourceGroupName
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name $SubnetName
$addressPrefix = $subnet.AddressPrefix

# Associate the network security group with the virtual network subnet
Set-AzVirtualNetworkSubnetConfig -Name $SubnetName `
    -VirtualNetwork $vnet `
    -AddressPrefix $addressPrefix `
    -NetworkSecurityGroup $nsg
$vnet | Set-AzVirtualNetwork

Een beheerd domein maken

Nu gaan we een beheerd domein maken. Stel uw Azure-abonnements-id in en geef een naam op voor het beheerde domein, zoals dscontoso.com. U kunt uw abonnements-id ophalen met behulp van de Get-AzSubscription-cmdlet.

Als u een regio kiest die ondersteuning biedt voor Beschikbaarheidszones, worden de Domain Services-resources verdeeld over zones voor redundantie.

Beschikbaarheidszones zijn unieke, fysieke locaties binnen een Azure-regio. Elke zone bestaat uit een of meer datacenters met onafhankelijke stroomvoorziening, koeling en netwerken. Tolerantie wordt gegarandeerd door aanwezigheid van minimaal drie afzonderlijke zones in alle actieve regio's.

U hoeft niets te configureren voor Domain Services om te worden gedistribueerd over zones. De distributie van resources over zones wordt automatisch afgehandeld op het Azure-platform. Zie Wat zijn beschikbaarheidszones in Azure? voor meer informatie en om de beschikbaarheid van regio’s te zien.

$AzureSubscriptionId = "YOUR_AZURE_SUBSCRIPTION_ID"
$ManagedDomainName = "dscontoso.com"

# Enable Microsoft Entra Domain Services for the directory.
$replicaSetParams = @{
  Location = $AzureLocation
  SubnetId = "/subscriptions/$AzureSubscriptionId/resourceGroups/$ResourceGroupName/providers/Microsoft.Network/virtualNetworks/$VnetName/subnets/DomainServices"
}
$replicaSet = New-AzADDomainServiceReplicaSetObject @replicaSetParams

$domainServiceParams = @{
  Name = $ManagedDomainName
  ResourceGroupName = $ResourceGroupName
  DomainName = $ManagedDomainName
  ReplicaSet = $replicaSet
}
New-AzADDomainService @domainServiceParams

Het duurt enkele minuten om de resource te maken en het beheer terug te geven aan de PowerShell-prompt. Het inrichten van het beheerde domein wordt op de achtergrond voortgezet. Het kan een uur duren voordat de implementatie is voltooid. In het Microsoft Entra-beheercentrum toont de pagina Overzicht voor uw beheerde domein de huidige status in deze implementatiefase.

Wanneer in het Microsoft Entra-beheercentrum wordt aangegeven dat het beheerde domein is ingericht, moeten de volgende taken worden voltooid:

  • Werk de DNS-instellingen voor het virtuele netwerk bij, zodat virtuele machines het beheerde domein kunnen vinden voor domeindeelname of verificatie.
    • Selecteer het beheerde domein in de portal om DNS te configureren. In het Overzichtsvenster wordt u gevraagd om deze DNS-instellingen automatisch te configureren.
  • Schakel wachtwoordsynchronisatie in voor Domain Services , zodat eindgebruikers zich met hun bedrijfsreferenties kunnen aanmelden bij het beheerde domein.

PowerShell-script voltooien

In het volgende voltooide PowerShell-script worden alle taken gecombineerd die in dit artikel worden weergegeven. Kopieer het script en sla het op in een bestand met de extensie .ps1. Gebruik voor Azure Global de AppId-waarde 2565bd9d-da50-47d4-8b85-4c97f669dc36. Voor andere Azure-clouds gebruikt u AppId-waarde 6ba9a5d4-8456-4118-b521-9c5ca10cdf84. Voer het script uit in een lokale PowerShell-console of in Azure Cloud Shell.

Notitie

Als u Domain Services wilt inschakelen, moet u een globale beheerder zijn voor de Microsoft Entra-tenant. U hebt ook minstens de bevoegdheden van een Inzender nodig voor het Azure-abonnement.

# Change the following values to match your deployment.
$AaddsAdminUserUpn = "admin@contoso.onmicrosoft.com"
$ResourceGroupName = "myResourceGroup"
$VnetName = "myVnet"
$AzureLocation = "westus"
$AzureSubscriptionId = "YOUR_AZURE_SUBSCRIPTION_ID"
$ManagedDomainName = "dscontoso.com"

# Connect to your Microsoft Entra directory.
Connect-MgGraph -Scopes "Application.ReadWrite.All","Directory.ReadWrite.All"

# Login to your Azure subscription.
Connect-AzAccount

# Create the service principal for Microsoft Entra Domain Services.
New-MgServicePrincipal -AppId "2565bd9d-da50-47d4-8b85-4c97f669dc36"

# First, retrieve the object of the 'AAD DC Administrators' group.
$GroupObject = Get-MgGroup `
  -Filter "DisplayName eq 'AAD DC Administrators'"

# Create the delegated administration group for Microsoft Entra Domain Services if it doesn't already exist.
if (!$GroupObject) {
  $GroupObject = New-MgGroup -DisplayName "AAD DC Administrators" `
    -Description "Delegated group to administer Microsoft Entra Domain Services" `
    -SecurityEnabled:$true `
    -MailEnabled:$false `
    -MailNickName "AADDCAdministrators"
  } else {
  Write-Output "Admin group already exists."
}

# Now, retrieve the object ID of the user you'd like to add to the group.
$UserObjectId = Get-MgUser `
  -Filter "UserPrincipalName eq '$AaddsAdminUserUpn'" | `
  Select-Object Id

# Add the user to the 'AAD DC Administrators' group.
New-MgGroupMember -GroupId $GroupObject.Id -DirectoryObjectId $UserObjectId.Id

# Register the resource provider for Microsoft Entra Domain Services with Resource Manager.
Register-AzResourceProvider -ProviderNamespace Microsoft.AAD

# Create the resource group.
New-AzResourceGroup `
  -Name $ResourceGroupName `
  -Location $AzureLocation

# Create the dedicated subnet for Microsoft Entra Domain Services.
$SubnetName = "DomainServices"
$AaddsSubnet = New-AzVirtualNetworkSubnetConfig `
  -Name DomainServices `
  -AddressPrefix 10.0.0.0/24

$WorkloadSubnet = New-AzVirtualNetworkSubnetConfig `
  -Name Workloads `
  -AddressPrefix 10.0.1.0/24

# Create the virtual network in which you will enable Microsoft Entra Domain Services.
$Vnet=New-AzVirtualNetwork `
  -ResourceGroupName $ResourceGroupName `
  -Location $AzureLocation `
  -Name $VnetName `
  -AddressPrefix 10.0.0.0/16 `
  -Subnet $AaddsSubnet,$WorkloadSubnet

$NSGName = "dsNSG"

# Create a rule to allow inbound TCP port 3389 traffic from Microsoft secure access workstations for troubleshooting
$nsg201 = New-AzNetworkSecurityRuleConfig -Name AllowRD `
    -Access Allow `
    -Protocol Tcp `
    -Direction Inbound `
    -Priority 201 `
    -SourceAddressPrefix CorpNetSaw `
    -SourcePortRange * `
    -DestinationAddressPrefix * `
    -DestinationPortRange 3389

# Create a rule to allow TCP port 5986 traffic for PowerShell remote management
$nsg301 = New-AzNetworkSecurityRuleConfig -Name AllowPSRemoting `
    -Access Allow `
    -Protocol Tcp `
    -Direction Inbound `
    -Priority 301 `
    -SourceAddressPrefix AzureActiveDirectoryDomainServices `
    -SourcePortRange * `
    -DestinationAddressPrefix * `
    -DestinationPortRange 5986

# Create the network security group and rules
$nsg = New-AzNetworkSecurityGroup -Name $NSGName `
    -ResourceGroupName $ResourceGroupName `
    -Location $AzureLocation `
    -SecurityRules $nsg201,$nsg301

# Get the existing virtual network resource objects and information
$vnet = Get-AzVirtualNetwork -Name $VnetName -ResourceGroupName $ResourceGroupName
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name $SubnetName
$addressPrefix = $subnet.AddressPrefix

# Associate the network security group with the virtual network subnet
Set-AzVirtualNetworkSubnetConfig -Name $SubnetName `
    -VirtualNetwork $vnet `
    -AddressPrefix $addressPrefix `
    -NetworkSecurityGroup $nsg
$vnet | Set-AzVirtualNetwork

# Enable Microsoft Entra Domain Services for the directory.
$replicaSetParams = @{
  Location = $AzureLocation
  SubnetId = "/subscriptions/$AzureSubscriptionId/resourceGroups/$ResourceGroupName/providers/Microsoft.Network/virtualNetworks/$VnetName/subnets/DomainServices"
}
$replicaSet = New-AzADDomainServiceReplicaSet @replicaSetParams

$domainServiceParams = @{
  Name = $ManagedDomainName
  ResourceGroupName = $ResourceGroupName
  DomainName = $ManagedDomainName
  ReplicaSet = $replicaSet
}
New-AzADDomainService @domainServiceParams

Het duurt enkele minuten om de resource te maken en het beheer terug te geven aan de PowerShell-prompt. Het inrichten van het beheerde domein wordt op de achtergrond voortgezet. Het kan een uur duren voordat de implementatie is voltooid. In het Microsoft Entra-beheercentrum toont de pagina Overzicht voor uw beheerde domein de huidige status in deze implementatiefase.

Wanneer in het Microsoft Entra-beheercentrum wordt aangegeven dat het beheerde domein is ingericht, moeten de volgende taken worden voltooid:

  • Werk de DNS-instellingen voor het virtuele netwerk bij, zodat virtuele machines het beheerde domein kunnen vinden voor domeindeelname of verificatie.
    • Selecteer het beheerde domein in de portal om DNS te configureren. In het Overzichtsvenster wordt u gevraagd om deze DNS-instellingen automatisch te configureren.
  • Schakel wachtwoordsynchronisatie in voor Domain Services , zodat eindgebruikers zich met hun bedrijfsreferenties kunnen aanmelden bij het beheerde domein.

Volgende stappen

Als u het beheerde domein in actie wilt zien, kunt u een Windows-VM koppelen, beveiligde LDAP configureren en wachtwoordhashsynchronisatie configureren.