我正在尝试重命名上周加入我们域的工作站。从那时起,它至少重启过一次。
我的域基于 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
最后,我解决这个问题的办法是:
- 远程桌面到 PC 并将其从域中删除
- 重启之前,关闭防火墙(或者至少允许来自非域专用网络的远程 RDP)
- 重启
- 重命名电脑并再次重启
- 将 PC 重新加入域,然后再次重新启动
我注意到我仍然无法重新命名这台电脑(同样的错误),但至少它现在有正确的名称。
答案2
您的问题是否与 Active Directory 中的旧数据有关?显然,存在一个问题,即在降级旧 Active Directory 服务器时会遗留一些信息。
域控制器降级失败后如何删除 Active Directory 中的数据
您是否尝试过在其中一个 Active Directory 服务器关闭时重命名主机/客户端?然后是另一个 AD 服务器?
您是否尝试过CMD-Let-Force
的参数?Rename-Computer