【问题标题】:Unable to join VM to AD - cannot complete this function无法将 VM 加入 AD - 无法完成此功能
【发布时间】:2019-10-18 23:43:04
【问题描述】:

我在 Azure 中有一个 VM,在 Azure 中也有 AD VM。它们都在同一个网络中,尽管在不同的子网中。

我已经通过 terraform 配置了 VM,但它们无法加入 AD,因此我正在手动查看错误是什么。

将 VM 连接到 AD 的命令如下:

PS C:\Users\scmadmin> $domain = "contoso.com"
PS C:\Users\scmadmin> $password = "<password here>" | ConvertTo-SecureString -asPlainText -Force
PS C:\Users\scmadmin> $username = "$domain\scmadmin"
PS C:\Users\scmadmin> $credential = New-Object System.Management.Automation.PSCredential($username,$password)
PS C:\Users\scmadmin> Add-Computer -DomainName $domain -Credential $credential

执行后的日志输出如下:

Add-Computer : Computer 'erxprebussvc01' failed to join domain 'contoso.com' from its current workgroup 'WORKGROUP'
with following error message: Cannot complete this function.
At line:1 char:1
+ Add-Computer -DomainName $domain -Credential $credential
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (erxprebussvc01:String) [Add-Computer], InvalidOperationException
    + FullyQualifiedErrorId : FailToJoinDomainFromWorkgroup,Microsoft.PowerShell.Commands.AddComputerCommand

在虚拟网络级别,DNS 服务器 IP 是 AD=10.112.1.4 的 IP(私有 IP)

我可以 ping 域,

PS C:\Users\scmadmin> ping contoso.com

Pinging contoso.com [10.112.1.4] with 32 bytes of data:
Reply from 10.112.1.4: bytes=32 time=1ms TTL=128
Reply from 10.112.1.4: bytes=32 time=1ms TTL=128
Reply from 10.112.1.4: bytes=32 time=1ms TTL=128
Reply from 10.112.1.4: bytes=32 time=1ms TTL=128

Ping statistics for 10.112.1.4:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 1ms, Maximum = 1ms, Average = 1ms

Windows 事件查看器日志报告以下错误

The machine erxprebussvc01 attempted to join the domain contoso.com but failed. The error code was 1355.

无法理解问题是什么/如何排除故障以及如何解决。

【问题讨论】:

  • 从客户端虚拟机,你能不能做一个 ipconfig/all 并检查你是否能看到 AD 的 IP 作为 DNS 服务器?
  • @msrini-MSITYes 我可以将 AD 服务器视为 DNS 服务器
  • 您的问题有什么更新吗?
  • 我完全按照你写的做了。 DNS 记录也是正确的。我正在进一步调查它,当我找到正确的线索时,我会在这里更新每个人。
  • 您是否尝试过在 UI 中手动加入域?它会弹出提供凭据的框吗?

标签: dns active-directory azure-virtual-machine azure-virtual-network


【解决方案1】:

我没有通过 terraform 配置虚拟机。相反,我在 Azure 门户上手动部署了两个 Azure VM(一个作为 AD 和 DNS 服务器,另一个作为客户端)。步骤很简单:

  1. 将两个 VM 部署在不同的子网但在同一个 VNet 中。
  2. 在AD服务器上设置服务器角色(ADDC、DNS),使其成为DC服务器。
  3. 在 Azure VNet 门户中将 DNS 服务器更改为 AD 专用 IP 地址。
  4. 在 Azure 门户上重新启动两个 Azure VM。
  5. VM 恢复运行后,RDP 到客户端 VM,您可以手动或通过命令将此 VM 加入 AD 域 contoso.com

通常,同一子网中的虚拟机可以相互通信,没有任何端口限制。所以它看起来像你这边的 DNS 问题。您可以在客户端 VM 上重新启动您的 VM 或 ipconfig/flushdns。或者验证是否在 DC VM 上正确创建了 DNS records

另外,你可以参考这个事件error code 1355和这个故障排除教程:How to troubleshoot errors that occur when you join Windows-based computers to a domain

【讨论】:

    猜你喜欢
    • 2013-11-04
    • 1970-01-01
    • 1970-01-01
    • 2017-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多