使用 Azure CLI 安装新的 Active Directory 林

AD DS 在 Azure 虚拟机 (VM) 上运行的方式与它在许多本地实例上运行的方式相同。 本文将指导你使用 Azure 门户和 Azure CLI 在 Azure 可用性集中的两个新域控制器上部署新的 AD DS 林。 许多客户发现本指南在创建实验室或准备在 Azure 中部署域控制器时非常有用。

组件

  • 用于放置所有内容的资源组。
  • Azure 虚拟网络、子网、网络安全组和允许 RDP 访问 VM 的规则。
  • 一个 Azure 虚拟机可用性集,用于放置两个 Active Directory 域服务 (AD DS) 域控制器。
  • 运行 AD DS 和 DNS 的两个 Azure 虚拟机。

未涵盖的项

生成测试环境

我们使用 Azure 门户Azure CLI 来创建环境。

Azure CLI 用于从命令行或脚本创建和管理 Azure 资源。 本教程详细介绍如何使用 Azure CLI 部署运行 Windows Server 2019 的虚拟机。 部署完成后,我们将连接到服务器并安装 AD DS。

如果还没有 Azure 订阅,可以在开始前创建一个免费帐户

使用 Azure CLI

以下脚本自动执行生成两个 Windows Server 2019 VM 的过程,以便为 Azure 中的新 Active Directory 林生成域控制器。 管理员可以修改以下变量以满足其需求,然后作为一个操作完成。 该脚本创建必要的资源组、具有远程桌面流量规则的网络安全组、虚拟网络和子网以及可用性组。 然后,每个 VM 都使用 20 GB 的数据磁盘生成,并针对 AD DS 禁用了缓存以便安装到其中。

可以直接从 Azure 门户运行以下脚本。 如果选择在本地安装并使用 CLI,此快速入门教程要求运行 Azure CLI 2.0.4 版或更高版本。 运行 az --version 即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure CLI 2.0

变量名称 目的
AdminUsername 用户名,在每个 VM 上配置为本地管理员。
AdminPassword 明文密码,在每个 VM 上配置为本地管理员密码。
ResourceGroupName 要用于资源组的名称。 不应复制现有名称。
位置 要部署到的 Azure 位置名称。 使用 az account list-locations 列出当前订阅的支持区域。
VNetName 用于分配 Azure 虚拟网络的名称不应与现有名称重复。
VNetAddress 用于 Azure 网络的 IP 范围。 不应复制现有范围。
SubnetName 用于分配 IP 子网的名称。 不应复制现有名称。
SubnetAddress 域控制器的子网地址。 应该是 VNet 内的子网。
AvailabilitySet 域控制器 VM 将加入的可用性集的名称。
VMSize 部署位置提供的标准 Azure VM 大小。
DataDiskSize 安装 AD DS 的数据磁盘的大小(以 GB 为单位)。
DomainController1 第一个域控制器的名称。
DC1IP 第一个域控制器的 IP 地址。
DomainController2 第二个域控制器的名称。
DC2IP 第二个域控制器的 IP 地址。
#Update based on your organizational requirements
Location=westus2
ResourceGroupName=ADonAzureVMs
NetworkSecurityGroup=NSG-DomainControllers
VNetName=VNet-AzureVMsWestUS2
VNetAddress=10.10.0.0/16
SubnetName=Subnet-AzureDCsWestUS2
SubnetAddress=10.10.10.0/24
AvailabilitySet=DomainControllers
VMSize=Standard_DS1_v2
DataDiskSize=20
AdminUsername=azureuser
AdminPassword=ChangeMe123456
DomainController1=AZDC01
DC1IP=10.10.10.11
DomainController2=AZDC02
DC2IP=10.10.10.12

# Create a resource group.
az group create --name $ResourceGroupName \
                --location $Location

# Create a network security group
az network nsg create --name $NetworkSecurityGroup \
                      --resource-group $ResourceGroupName \
                      --location $Location

# Create a network security group rule for port 3389.
az network nsg rule create --name PermitRDP \
                           --nsg-name $NetworkSecurityGroup \
                           --priority 1000 \
                           --resource-group $ResourceGroupName \
                           --access Allow \
                           --source-address-prefixes "*" \
                           --source-port-ranges "*" \
                           --direction Inbound \
                           --destination-port-ranges 3389

# Create a virtual network.
az network vnet create --name $VNetName \
                       --resource-group $ResourceGroupName \
                       --address-prefixes $VNetAddress \
                       --location $Location \

# Create a subnet
az network vnet subnet create --address-prefix $SubnetAddress \
                              --name $SubnetName \
                              --resource-group $ResourceGroupName \
                              --vnet-name $VNetName \
                              --network-security-group $NetworkSecurityGroup

# Create an availability set.
az vm availability-set create --name $AvailabilitySet \
                              --resource-group $ResourceGroupName \
                              --location $Location

# Create two virtual machines.
az vm create \
    --resource-group $ResourceGroupName \
    --availability-set $AvailabilitySet \
    --name $DomainController1 \
    --size $VMSize \
    --image Win2019Datacenter \
    --admin-username $AdminUsername \
    --admin-password $AdminPassword \
    --data-disk-sizes-gb $DataDiskSize \
    --data-disk-caching None \
    --nsg $NetworkSecurityGroup \
    --private-ip-address $DC1IP \
    --no-wait

az vm create \
    --resource-group $ResourceGroupName \
    --availability-set $AvailabilitySet \
    --name $DomainController2 \
    --size $VMSize \
    --image Win2019Datacenter \
    --admin-username $AdminUsername \
    --admin-password $AdminPassword \
    --data-disk-sizes-gb $DataDiskSize \
    --data-disk-caching None \
    --nsg $NetworkSecurityGroup \
    --private-ip-address $DC2IP

DNS 和 Active Directory

如果在此过程中创建的 Azure 虚拟机将是现有本地 Active Directory 基础结构的扩展,则必须在部署之前更改虚拟网络上的 DNS 设置,以包括本地 DNS 服务器。 此步骤对于允许 Azure 中新创建的域控制器解析本地资源并允许进行复制非常重要。 有关 DNS、Azure 以及如何配置设置的详细信息,请参阅使用自己的 DNS 服务器的名称解析部分。

在 Azure 中提升新域控制器后,需要将其设置为虚拟网络的主 DNS 服务器和辅助 DNS 服务器,任何本地 DNS 服务器会降级为第三级或更低级别。 VM 在重启之前,将继续使用其当前 DNS 设置。 有关更改 DNS 服务器的详细信息,请参阅 创建、更改或删除虚拟网络一文。

有关将本地网络扩展到 Azure 的信息,请参阅创建站点到站点 VPN 连接一文。

配置 VM 并安装 Active Directory 域服务

脚本完成后,浏览到 Azure 门户,然后浏览到虚拟机

配置第一个域控制器

使用脚本中提供的凭据连接到 AZDC01。

  • 初始化数据磁盘并将其格式化为 F:
    • 打开“开始”菜单并浏览到“计算机管理”
    • 浏览到“存储”>“磁盘管理”
    • 将磁盘作为 MBR 初始化
    • 创建新的简单卷并分配驱动器号 F: 如果需要,可以提供卷标签
  • 使用服务器管理器安装 Active Directory 域服务
  • 将域控制器提升为新林中的第一个域控制器
    • 在“域控制器选项”页上,将域名系统 (DNS) 服务器和全局编录 (GC) 保留为选中
    • 根据组织要求指定目录服务还原模式密码
    • 将路径从 C: 更改为指向在系统提示输入位置时创建的 F: 驱动器
    • 查看向导中所做的选择,然后选择“下一步”

注意

先决条件检查会警告物理网络适配器未分配有静态 IP 地址,你可以放心地忽略此警告,因为静态 IP 是在 Azure 虚拟网络中分配的。

  • 选择“安装”

向导完成安装过程后,VM 会重新启动。

VM 完成重新启动后,请使用以前使用的凭据重新登录,但这次是以你创建的域的成员身份登录。

注意

提升域控制器后的第一次登录可能需要比通常时间更长的时间,这没有关系。 喝一杯茶、咖啡、水或选择其他饮料。

Azure 虚拟网络现在支持 IPv6,但如果你希望将 VM 设置为首选 IPv4 而不是 IPv6,可以在适用于高级用户的有关如何在 Windows 中配置 IPv6 的指南一文中了解如何完成此任务。

配置 DNS

在 Azure 中提升第一个服务器后,服务器需要设置为虚拟网络的主 DNS 服务器和辅助 DNS 服务器,任何本地 DNS 服务器会降级为第三级或更低级别。 有关更改 DNS 服务器的详细信息,请参阅 创建、更改或删除虚拟网络一文。

配置第二个域控制器

使用脚本中提供的凭据连接到 AZDC02。

  • 初始化数据磁盘并将其格式化为 F:
    • 打开“开始”菜单并浏览到“计算机管理”
    • 浏览到“存储”>“磁盘管理”
    • 将磁盘作为 MBR 初始化
    • 创建新的简单卷并分配驱动器号 F:(如果需要,可以提供卷标签)
  • 使用服务器管理器安装 Active Directory 域服务
  • 提升域控制器
    • 将域控制器添加到现有域 - CONTOSO.com
    • 提供凭据以执行此操作
    • 将路径从 C: 更改为指向在系统提示输入位置时创建的 F: 驱动器
    • 确保“域控制器选项”页上,域名系统 (DNS) 服务器和全局编录 (GC) 为选中状态
    • 根据组织要求指定目录服务还原模式密码
    • 查看向导中所做的选择,然后选择“下一步”

注意

先决条件检查将警告物理网络适配器未分配有静态 IP 地址。 可以放心地忽略这一点,因为静态 IP 是在 Azure 虚拟网络中分配的。

  • 选择“安装”

向导完成安装过程后,VM 会重新启动。

VM 完成重新启动后,请使用以前使用的凭据重新登录,但这次是以 CONTOSO.com 域的成员身份登录

Azure 虚拟网络现在支持 IPv6,但如果你希望将 VM 设置为首选 IPv4 而不是 IPv6,可以在适用于高级用户的有关如何在 Windows 中配置 IPv6 的指南一文中了解如何完成此任务。

总结

此时,环境具有一对域控制器,我们已配置 Azure 虚拟网络,这样可以向环境中添加其他服务器。 此时应完成 Active Directory 域服务的安装后任务,例如配置站点和服务、审核、备份和保护内置管理员帐户。

删除环境

若要删除环境,完成测试后,可以删除上面创建的资源组。 此步骤将删除属于该资源组的所有组件。

使用 Azure 门户删除

从 Azure 门户,浏览到“资源组”,选择(在本示例 ADonAzureVMs 中)创建的资源组,然后选择“删除资源组”。 进程在删除资源组中包含的所有资源之前要求确认。

使用 Azure CLI 进行删除

在 Azure CLI 中运行以下命令:

az group delete --name ADonAzureVMs

后续步骤