Delen via


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 domeincontrollers zelf te implementeren, beheren en patchen. Domain Services kan worden geïntegreerd met uw bestaande Microsoft Entra-tenant. Met deze integratie kunnen gebruikers zich aanmelden met hun bedrijfsreferenties en kunt u 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

U wordt aangeraden de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Zie Azure PowerShell migreren van AzureRM naar Az voor meer informatie over het migreren naar de Az PowerShell-module.

Voorwaarden

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

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-beheerders. Gebruikers die aan deze groep worden toegevoegd, krijgen vervolgens machtigingen om beheertaken uit te voeren op het beheerde domein.

Haal eerst de groepsobject-id van de AAD DC-beheerders op met behulp van de cmdlet Get-MgGroup . Als de groep niet bestaat, maakt u deze met de groep AAD DC-beheerders 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-beheerders 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-MgGroupMemberByRef .

In het volgende voorbeeld is 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-beheerders :

# 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 cmdlet New-AzResourceGroup . In het volgende voorbeeld krijgt de resourcegroep de naam myResourceGroup en wordt deze 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 worden 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 uw VM's.

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

$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) bevat een lijst met regels waarmee netwerkverkeer 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 poorten om 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 cmdlet Set-AzVirtualNetworkSubnetConfig .

$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 Cmdlet Get-AzSubscription .

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 die zijn uitgerust met onafhankelijke voeding, koeling en netwerken. Om tolerantie te garanderen, zijn er minimaal drie afzonderlijke zones in alle ingeschakelde regio's.

U hoeft niets te configureren voor Domain Services om te worden gedistribueerd over zones. Het Azure-platform verwerkt automatisch de zonedistributie van resources. Zie Wat zijn Beschikbaarheidszones in Azure voor meer informatie en om de beschikbaarheid van regio's te bekijken.

$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 besturingselement terug te keren naar de PowerShell-prompt. Het beheerde domein wordt nog steeds op de achtergrond ingericht en 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 DNS-instellingen voor het virtuele netwerk bij, zodat virtuele machines het beheerde domein kunnen vinden voor domeindeelname of -verificatie.
    • Als u DNS wilt configureren, selecteert u uw beheerde domein in de portal. In het venster Overzicht wordt u gevraagd 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

Het volgende volledige PowerShell-script combineert alle taken die in dit artikel worden weergegeven. Kopieer het script en sla het op in een bestand met een .ps1 extensie. 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 de Azure Cloud Shell.

Er is een globale beheerder nodig om deze functie te beheren.

Inzenderbevoegdheden voor het Azure-abonnement zijn vereist voor deze functie.

# 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 besturingselement terug te keren naar de PowerShell-prompt. Het beheerde domein wordt nog steeds op de achtergrond ingericht en 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 DNS-instellingen voor het virtuele netwerk bij, zodat virtuele machines het beheerde domein kunnen vinden voor domeindeelname of -verificatie.
    • Als u DNS wilt configureren, selecteert u uw beheerde domein in de portal. In het venster Overzicht wordt u gevraagd 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 lid worden van een Windows-VM, secure LDAP configureren en wachtwoord-hashsynchronisatie configureren.