33

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

4

8 回答 8

52

前面提到wmic的命令是要走的路,因为它默认安装在最新版本的 Windows 中。

这是我通过从环境中检索当前名称来概括它的小改进:

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

注意:该命令必须在一行中给出,但我将其分成两行以使滚动变得不必要。正如@rbeede 提到的,您必须重新启动才能完成更新。

于 2010-09-17T20:05:05.220 回答
13

cmd(命令):

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

PowerShell(Windows 2008/2012):

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

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

于 2013-11-20T05:15:58.587 回答
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" 

原来的

于 2008-09-10T18:50:11.993 回答
1

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

使用指南在这里

于 2008-09-10T20:15:41.193 回答
1

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

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

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

    objComputer.rename "NewComputerName", NULL, NULL 
Next

来源

于 2008-09-10T20:15:46.950 回答
1

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

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

于 2014-08-05T14:17:28.920 回答
1

当事情可能很复杂时,为什么要容易?当正确的询问是正确的方式时,为什么要使用像 netdom.exe 这样的第三方应用程序?尝试 2 次询问:

wmic computersystem where caption='%computername%' get caption, UserName, Domain /format:value

wmic computersystem where "caption like '%%%computername%%%'" get caption, 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 )

于 2016-08-07T12:59:06.847 回答
0

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

setcomputername [newname]

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

于 2015-08-30T21:20:43.383 回答