是否可以使用开箱即用的工具从命令行更改 Windows 2003 中的主机名?
8 回答
前面提到wmic
的命令是要走的路,因为它默认安装在最新版本的 Windows 中。
这是我通过从环境中检索当前名称来概括它的小改进:
wmic computersystem where name="%COMPUTERNAME%"
call rename name="NEW-NAME"
注意:该命令必须在一行中给出,但我将其分成两行以使滚动变得不必要。正如@rbeede 提到的,您必须重新启动才能完成更新。
cmd(命令):
netdom renamecomputer %COMPUTERNAME% /Newname "NEW-NAME"
PowerShell(Windows 2008/2012):
netdom renamecomputer "$env:COMPUTERNAME" /Newname "NEW-NAME"
之后,您需要重新启动计算机。
我不知道执行此操作的命令,但您可以在 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"
可以使用 netdom.exe 命令行程序。这可从 Windows XP 支持工具或 Server 2003 支持工具(都在安装 CD 上)获得。
使用指南在这里
这是使用 WHS 脚本的另一种方法:
Set objWMIService = GetObject("Winmgmts:root\cimv2")
For Each objComputer in _
objWMIService.InstancesOf("Win32_ComputerSystem")
objComputer.rename "NewComputerName", NULL, NULL
Next
使用以下命令远程更改计算机主机名,更改后需要重新启动系统..
psexec.exe -h -e \\\IPADDRESS -u USERNAME -p PASSWORD netdom renamecomputer CurrentComputerName /newname:NewComputerName /force
当事情可能很复杂时,为什么要容易?当正确的询问是正确的方式时,为什么要使用像 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 )
如果您希望从 Windows 10 IoT 执行此操作,则可以使用一个内置命令:
setcomputername [newname]
不幸的是,此命令在 Windows 10 的完整版本中不存在。