从命令行更改Windows主机名

时间:2008-09-10 18:45:04

标签: windows command-line

是否可以使用开箱即用的工具从命令行更改Windows 2003中的主机名?

8 个答案:

答案 0 :(得分:45)

前面提到的wmic命令是可行的方法,因为它默认安装在最新版本的Windows中。

通过从环境中检索当前名称,这是我的一个小改进:

wmic computersystem where name="%COMPUTERNAME%" 
     call rename name="NEW-NAME"

注意:命令必须在一行中给出,但我把它分成两行,不需要滚动。正如@rbeede所提到的,你必须重新启动才能完成更新。

答案 1 :(得分:9)

cmd(命令):

netdom renamecomputer %COMPUTERNAME% /Newname "NEW-NAME"

powershell(windows 2008/2012):

netdom renamecomputer "$env:COMPUTERNAME" /Newname "NEW-NAME"

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

答案 2 :(得分:4)

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

使用指南here

答案 3 :(得分:2)

以下是使用WHS脚本执行此操作的另一种方法:

Set objWMIService = GetObject("Winmgmts:root\cimv2")

For Each objComputer in _
    objWMIService.InstancesOf("Win32_ComputerSystem")

    objComputer.rename "NewComputerName", NULL, NULL 
Next

Source

答案 4 :(得分:1)

我不知道执行此操作的命令,但您可以在VBScript或类似的东西中执行此操作。 像这样的东西:

sNewName = "put new name here" 

Set oShell = CreateObject ("WSCript.shell" ) 

sCCS = "HKLM\SYSTEM\CurrentControlSet\" 
sTcpipParamsRegPath = sCCS & "Services\Tcpip\Parameters\" 
sCompNameRegPath = sCCS & "Control\ComputerName\" 

With oShell 
.RegDelete sTcpipParamsRegPath & "Hostname" 
.RegDelete sTcpipParamsRegPath & "NV Hostname" 

.RegWrite sCompNameRegPath & "ComputerName\ComputerName", sNewName 
.RegWrite sCompNameRegPath & "ActiveComputerName\ComputerName", sNewName 
.RegWrite sTcpipParamsRegPath & "Hostname", sNewName 
.RegWrite sTcpipParamsRegPath & "NV Hostname", sNewName 
End With ' oShell 

MsgBox "Computer name changed, please reboot your computer" 

Original

答案 5 :(得分:1)

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

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

答案 6 :(得分:1)

为什么在它变得复杂时容易? 为什么在正确的interogations方式下使用像netdom.exe这样的第三方应用程序? 尝试2次interogations:

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

wmic computersystem其中“capit like'%%% computername %%%'”获取标题,UserName,Domain / format:value

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

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

答案 7 :(得分:0)

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

setcomputername [newname]

不幸的是,此命令在Windows 10的完整版本中不存在