从命令行更改windows主机名

从命令行更改windows主机名,windows,command-line,Windows,Command Line,在Windows 2003中,是否可以使用现成的工具从命令行更改主机名?我不知道有什么命令可以做到这一点,但您可以使用VBScript或类似的工具。 有点像: sNewName=“在此处输入新名称” 设置oShell=CreateObject(“WSCript.shell”) sCCS=“HKLM\SYSTEM\CurrentControlSet\” sTcpipParamsRegPath=sCCS&“服务\Tcpip\Parameters” sCompNameRegPath=sCCS&“控制\

在Windows 2003中,是否可以使用现成的工具从命令行更改主机名?

我不知道有什么命令可以做到这一点,但您可以使用VBScript或类似的工具。 有点像:

sNewName=“在此处输入新名称”
设置oShell=CreateObject(“WSCript.shell”)
sCCS=“HKLM\SYSTEM\CurrentControlSet\”
sTcpipParamsRegPath=sCCS&“服务\Tcpip\Parameters”
sCompNameRegPath=sCCS&“控制\计算机名”
和奥希尔
.RegDelete sTcpipParamsRegPath&“主机名”
.RegDelete sTcpipParamsRegPath和“NV主机名”
.RegWrite sCompNameRegPath&“ComputerName\ComputerName”,sNewName
.RegWrite sCompNameRegPath&“ActiveComputerName\ComputerName”,sNewName
.RegWrite sTcpipParamsRegPath&“主机名”,sNewName
.RegWrite sTcpipParamsRegPath和“NV主机名”,sNewName
以“奥谢尔”结尾
MsgBox“计算机名称已更改,请重新启动计算机”

可以使用netdom.exe命令行程序。这可以从Windows XP支持工具或Server 2003支持工具(都在安装CD上)获得


使用指南

以下是使用WHS脚本的另一种方法:

Set objWMIService=GetObject(“Winmgmts:root\cimv2”)
对于中的每个对象计算机_
objWMIService.InstancesOf(“Win32_计算机系统”)
objComputer.rename“NewComputerName”,NULL,NULL
下一个

前面提到的
wmic
命令是一个不错的选择,因为它默认安装在最新版本的Windows中

下面是我的一个小改进,通过从环境中检索当前名称来概括它:

wmic computersystem其中name=“%COMPUTERNAME%”
调用rename name=“NEW-name”
注意:该命令必须在一行中给出,但我已将其分为两行,以使滚动变得不必要。正如@rbeede提到的,您必须重新启动才能完成更新。

cmd(命令):

netdom重命名计算机%COMPUTERNAME%/Newname“NEW-NAME”
powershell(windows 2008/2012):

netdom重命名计算机“$env:COMPUTERNAME”/Newname“NEW-NAME”

之后,您需要重新启动计算机。

使用下面的命令远程更改计算机主机名,更改后需要重新启动系统


psexec.exe-h-e\\\IPADDRESS-u USERNAME-p PASSWORD netdom renamecomputer CurrentComputerName/newname:NewComputerName/force

如果您希望从Windows 10 IoT执行此操作,则可以使用一个内置命令:

setcomputername[newname]


不幸的是,这个命令在Windows 10的完整版本中并不存在。

为什么它可能很复杂却很简单? 在正确的互操作方式下,为什么要使用netdom.exe等第三方应用程序? 尝试两种互操作:

wmic computersystem,其中标题=“%computername%”获取标题、用户名、域/格式:值

wmic computersystem,其中“标题类似“%%%computername%%%”获取标题、用户名、域/格式:值

或者在批处理文件中使用循环


for/f”tokens=2 delims==“%%i in('wmic computersystem where“Caption like%%currentname%%”“get UserName/format:value”)do(echo.UserName-%%i)

执行后必须重新启动我想
wmic
没有随Windows XP一起提供稍微短一点:
wmic computersystem where name=“%COMPUTERNAME%”重命名“NEW-NAME”
Nope,至少在Win8上不可用。netdom未被识别。在win 2016中工作正常。Core在win 10上不起作用,但在win 2016服务器上对我有效。如果您描述如何使用它(如中所示),会更好,因为您提供的链接现在已失效。仅供参考,11年后,链接失效。这就是为什么添加示例是有用的175K视图…5个月前处于活动状态…12年前被询问,2年前关闭。我们不能让有用的帖子存活吗?这个问题可能不太好,但它与主题有关。@dmo此脚本可能很有趣: