重命名 AD 计算机成员失败,并显示“当文件已存在时无法创建文件”

重命名 AD 计算机成员失败,并显示“当文件已存在时无法创建文件”

我正在尝试重命名上周加入我们域的工作站。从那时起,它至少重启过一次。

我的域基于 Windows 2012 R2,相关成员运行的是 Windows 10 Pro。如果这是有用的信息,我有三个 DC(是的,它们是同步的)。

重命名大多数情况下都是有效的:

$aa = Get-Credential [email protected]
Rename-Computer -ComputerName mynewpc -NewName alpc001 -DomainCredential $aa
WARNING: The changes will take effect after you restart the computer mynewpc.

但是我有几台机器顽固地拒绝重命名:

Rename-Computer -ComputerName otherhp -NewName alpc005 -DomainCredential $aa
Rename-Computer : Fail to rename computer 'otherhp' to 'alpc005' due to the following exception: Cannot create a file when that file already exists.
At line:1 char:1
+ Rename-Computer -ComputerName otherhp -NewName alpc005 -DomainCredent ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (otherhp:String) [Rename-Computer], InvalidOperationException
    + FullyQualifiedErrorId : FailToRenameComputer,Microsoft.PowerShell.Commands.RenameComputerCommand

这是另一次尝试:

netdom renamecomputer otherhp /newname:alpc005 /ud:contoso\administrator /pd:*
Type the password associated with the domain user:

This operation will rename the computer otherhp
to alpc005.

Certain services, such as the Certificate Authority, rely on a fixed machine
name. If any services of this type are running on otherhp,
then a computer name change would have an adverse impact.

Do you want to proceed (Y or N)?
y
Cannot create a file when that file already exists.

The command failed to complete successfully.

没有具有此新名称的计算机(或其他帐户),并且 AD DNS 中也没有它的条目。

根据评论的要求,附加错误报告$error[0] | fl -f如下:

writeErrorStream      : True
Exception             : System.InvalidOperationException: Fail to rename computer 'otherhp' to 'alpc005' due to the following exception: Cannot create a file when that file already exists.
TargetObject          : otherhp
CategoryInfo          : OperationStopped: (otherhp:String) [Rename-Computer], InvalidOperationException
FullyQualifiedErrorId : FailToRenameComputer,Microsoft.PowerShell.Commands.RenameComputerCommand
ErrorDetails          :
InvocationInfo        : System.Management.Automation.InvocationInfo
ScriptStackTrace      : at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo : {0, 1}
PSMessageDetails      :

我在用户办公室没有任何 IT 支持,所以我们尽可能远程完成工作。如果其他方法都失败了,我想我可以向最终用户授予足够的权限,让他们退出 PC,重命名,然后重新加入。但如果有切实可行的替代方案,我真的不想这么做。

非常感谢您的建议,谢谢。


我被要求提供每个 DC 的输出NETDOM QUERY /Domain:{domain} WORKSTATION。这三个 DC 的列表中均有 PC;以下是结果的片段:

PS C:\Windows\system32> NETDOM QUERY /Domain:contoso.com /Server:DC1 WORKSTATION
List of workstations with accounts in the domain:

ALPC004      ( Workstation or Server )
...
OTHERHP
...

有问题的 PC ( OTHERPC) 没有该( Workstation or Server )子句 - 但我的许多 PC 也没有该子句。

答案1

最后,我解决这个问题的办法是:

  1. 远程桌面到 PC 并将其从域中删除
  2. 重启之前,关闭防火墙(或者至少允许来自非域专用网络的远程 RDP)
  3. 重启
  4. 重命名电脑并再次重启
  5. 将 PC 重新加入域,然后再次重新启动

我注意到我仍然无法重新命名这台电脑(同样的错误),但至少它现在有正确的名称。

答案2

您的问题是否与 Active Directory 中的旧数据有关?显然,存在一个问题,即在降级旧 Active Directory 服务器时会遗留一些信息。

域控制器降级失败后如何删除 Active Directory 中的数据

您是否尝试过在其中一个 Active Directory 服务器关闭时重命名主机/客户端?然后是另一个 AD 服务器?

外部信任 - 重复的域 SID

您是否尝试过CMD-Let-Force的参数?Rename-Computer

相关内容