Aktivera Microsoft Entra Domain Services med PowerShell

Microsoft Entra Domain Services tillhandahåller hanterade domäntjänster som domänanslutning, grupprincip, LDAP, Kerberos/NTLM-autentisering som är helt kompatibel med Windows Server Active Directory. Du använder dessa domäntjänster utan att distribuera, hantera och korrigera domänkontrollanter själv. Domain Services integreras med din befintliga Microsoft Entra-klientorganisation. Med den här integreringen kan användarna logga in med sina företagsautentiseringsuppgifter och du kan använda befintliga grupper och användarkonton för att skydda åtkomsten till resurser.

Den här artikeln visar hur du aktiverar Domain Services med hjälp av PowerShell.

Kommentar

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Förutsättningar

För att slutföra den här artikeln behöver du följande resurser:

  • Installera och konfigurera Azure PowerShell.

  • Installera och konfigurera MS Graph PowerShell.

  • Du behöver globala administratörsbehörigheter i din Microsoft Entra-klient för att aktivera Domain Services.

  • Du behöver deltagarbehörigheter i din Azure-prenumeration för att skapa nödvändiga Domain Services-resurser.

    Viktigt!

    Även om PowerShell-modulen Az.ADDomainServices är i förhandsversion måste du installera den separat med hjälp av cmdleten Install-Module .

    Install-Module -Name Az.ADDomainServices
    

Skapa nödvändiga Microsoft Entra-resurser

Domäntjänster kräver ett huvudnamn för tjänsten för att autentisera och kommunicera och en Microsoft Entra-grupp för att definiera vilka användare som har administratörsbehörighet i den hanterade domänen.

Börja med att skapa ett Microsoft Entra-tjänsthuvudnamn med hjälp av ett specifikt program-ID med namnet Domain Controller Services. ID-värdet är 2565bd9d-da50-47d4-8b85-4c97f669dc36 för globala Azure och 6ba9a5d4-8456-4118-b521-9c5ca10cdf84 för andra Azure-moln. Ändra inte det här program-ID:t.

Skapa ett Microsoft Entra-tjänsthuvudnamn med cmdleten New-MgServicePrincipal :

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

Skapa nu en Microsoft Entra-grupp med namnet AAD DC-administratörer. Användare som läggs till i den här gruppen beviljas sedan behörighet att utföra administrationsuppgifter på den hanterade domänen.

Hämta först gruppobjekt-ID: t för AAD DC-administratörer med hjälp av cmdleten Get-MgGroup . Om gruppen inte finns skapar du den med gruppen AAD DC-administratörer med cmdleten 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."
}

När gruppen AAD DC-administratörer har skapats hämtar du den önskade användarens objekt-ID med cmdleten Get-MgUser och lägger sedan till användaren i gruppen med cmdleten New-MgGroupMember.

I följande exempel använder du objekt-ID:t för kontot med ett UPN på admin@contoso.onmicrosoft.com. Ersätt det här användarkontot med UPN för den användare som du vill lägga till i gruppen AAD DC-administratörer :

# 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

Skapa nätverksresurser

Registrera först Microsoft Entra Domain Services-resursprovidern med hjälp av cmdleten Register-AzResourceProvider :

Register-AzResourceProvider -ProviderNamespace Microsoft.AAD

Skapa sedan en resursgrupp med cmdleten New-AzResourceGroup . I följande exempel heter resursgruppen myResourceGroup och skapas i regionen westus . Använd ditt eget namn och önskad region:

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

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

Skapa det virtuella nätverket och undernäten för Microsoft Entra Domain Services. Två undernät skapas – ett för DomainServices och ett för arbetsbelastningar. Domain Services distribueras till det dedikerade Undernätet DomainServices . Distribuera inte andra program eller arbetsbelastningar till det här undernätet. Använd separata arbetsbelastningar eller andra undernät för resten av dina virtuella datorer.

Skapa undernäten med cmdleten New-AzVirtualNetworkSubnetConfig och skapa sedan det virtuella nätverket med cmdleten 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

Skapa en nätverkssäkerhetsgrupp

Domain Services behöver en nätverkssäkerhetsgrupp för att skydda de portar som behövs för den hanterade domänen och blockera all annan inkommande trafik. En nätverkssäkerhetsgrupp (NSG) innehåller en lista över regler som tillåter eller nekar nätverkstrafik till trafik i ett virtuellt Azure-nätverk. I Domain Services fungerar nätverkssäkerhetsgruppen som ett extra skyddslager för att låsa åtkomsten till den hanterade domänen. Information om vilka portar som krävs finns i Nätverkssäkerhetsgrupper och nödvändiga portar.

Följande PowerShell-cmdletar använder New-AzNetworkSecurityRuleConfig för att skapa reglerna och sedan New-AzNetworkSecurityGroup för att skapa nätverkssäkerhetsgruppen. Nätverkssäkerhetsgruppen och reglerna associeras sedan med det virtuella nätverksundernätet med hjälp av cmdleten 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

Skapa en hanterad domän

Nu ska vi skapa en hanterad domän. Ange ditt Azure-prenumerations-ID och ange sedan ett namn för den hanterade domänen, till exempel dscontoso.com. Du kan hämta ditt prenumerations-ID med cmdleten Get-AzSubscription .

Om du väljer en region som stöder Tillgänglighetszoner distribueras Domain Services-resurserna mellan zoner för redundans.

Tillgänglighetszoner är unika fysiska platser inom en Azure-region. Varje zon utgörs av ett eller flera datacenter som är utrustade med oberoende kraft, kylning och nätverk. För att säkerställa återhämtning finns det minst tre separata zoner i alla aktiverade regioner.

Det finns inget som du kan konfigurera för att Domain Services ska distribueras mellan zoner. Azure-plattformen hanterar automatiskt zonfördelningen av resurser. Mer information och om du vill se regiontillgänglighet finns i Vad är Tillgänglighetszoner i Azure?.

$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

Det tar några minuter att skapa resursen och returnera kontrollen till PowerShell-prompten. Den hanterade domänen fortsätter att etableras i bakgrunden och kan ta upp till en timme att slutföra distributionen. I administrationscentret för Microsoft Entra visar sidan Översikt för din hanterade domän den aktuella statusen i hela distributionsfasen.

När administrationscentret för Microsoft Entra visar att den hanterade domänen har slutfört etableringen måste följande uppgifter utföras:

  • Uppdatera DNS-inställningarna för det virtuella nätverket så att virtuella datorer kan hitta den hanterade domänen för domänanslutning eller autentisering.
    • Om du vill konfigurera DNS väljer du din hanterade domän i portalen. I fönstret Översikt uppmanas du att automatiskt konfigurera dessa DNS-inställningar.
  • Aktivera lösenordssynkronisering till Domain Services så att slutanvändarna kan logga in på den hanterade domänen med sina företagsautentiseringsuppgifter.

Slutför PowerShell-skript

Följande fullständiga PowerShell-skript kombinerar alla uppgifter som visas i den här artikeln. Kopiera skriptet och spara det i en fil med ett .ps1 tillägg. För Azure Global använder du AppId-värdet 2565bd9d-da50-47d4-8b85-4c97f669dc36. För andra Azure-moln använder du AppId-värdet 6ba9a5d4-8456-4118-b521-9c5ca10cdf84. Kör skriptet i en lokal PowerShell-konsol eller Azure Cloud Shell.

Kommentar

Om du vill aktivera Domain Services måste du vara global administratör för Microsoft Entra-klientorganisationen. Du behöver också minst deltagarbehörigheter i Azure-prenumerationen.

# 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

Det tar några minuter att skapa resursen och returnera kontrollen till PowerShell-prompten. Den hanterade domänen fortsätter att etableras i bakgrunden och kan ta upp till en timme att slutföra distributionen. I administrationscentret för Microsoft Entra visar sidan Översikt för din hanterade domän den aktuella statusen i hela distributionsfasen.

När administrationscentret för Microsoft Entra visar att den hanterade domänen har slutfört etableringen måste följande uppgifter utföras:

  • Uppdatera DNS-inställningarna för det virtuella nätverket så att virtuella datorer kan hitta den hanterade domänen för domänanslutning eller autentisering.
    • Om du vill konfigurera DNS väljer du din hanterade domän i portalen. I fönstret Översikt uppmanas du att automatiskt konfigurera dessa DNS-inställningar.
  • Aktivera lösenordssynkronisering till Domain Services så att slutanvändarna kan logga in på den hanterade domänen med sina företagsautentiseringsuppgifter.

Nästa steg

Om du vill se den hanterade domänen i praktiken kan du domänansluta en virtuell Windows-dator, konfigurera säker LDAP och konfigurera synkronisering av lösenordshash.