windows 通过修改注册表来修改主机名

XP更改计算机名 2012-05-09 06:12:53

分类: WINDOWS

在运行里输入:regedit 打开注册表

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"NV Hostname"="主机名"
"Hostname"="主机名"

附注1:
NV注册计算机名
Hostname指定系统的 DNS 主机名,该主机名可由“hostname”命令返回


NETBIOS名称
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName]
"ComputerName"="主机名"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName]

"ComputerName"="主机名"

附注2:
netbios名是在win98这样的系统下用于标示计算机的,在现行的一些操作系统中,它亦然存在,只是默认和计算机名相同,但仅限其前15位,因为netbios名最大也才16位,最后一位用来某种服务或应用程序。

ComputerName vs ActiveComputerName
   先说ComputerName,这个其实就是本机的netbios,看翻译好像是计算机名,其实不要被误解了,在注册表中,名为hostname的项的键值才是真正的计算机名,也称之为主机名。我们可以在命令提示符下用hostname命令查看本机的主机名。那ActiveComputerName又是什么呢,按照官方的说法是“这是不稳定和该会话过程中提供计算机名”,似乎很不好理解。其实也不用太费心,这个也是netbios名,如果想修改,就直接把ComputerName直接修改成想要的netbios名,然后重启,暂不用管ActiveComputerName,等重启完后,你会发现ActiveComputerName自动就和ComputerName同步


另一种修改方法:
网上给个批处理文件修改:

点击(此处)折叠或打开

  1. @echo off
  2. :START
  3. title 更改计算机名
  4. echo.
  5. echo %date% %time%
  6. echo.
  7. set /p name=请输入新的计算机名:
  8. CLS
  9. ECHO.
  10. ECHO.
  11. ECHO 你输入的计算机名为:%Name%
  12. ECHO.
  13. ECHO.
  14. SET /P CHOISE=请确认Y/N:

  15. IF "%CHOISE%"=="y" GOTO Modification
  16. IF "%CHOISE%"=="n" GOTO :START

  17. GOTO END
  18. :Modification
  19. cls
  20. reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v ComputerName /t reg_sz /d %name% /f
  21. reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t reg_sz /d %name% /f
  22. reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %name% /f
  23. reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v Hostname /t reg_sz /d %name% /f
  24. cls
  25. echo.
  26. echo.
  27. echo.
  28. echo.
  29. echo 计算机名更改成功!
  30. echo.
  31. echo 按任意键退出
  32. pause>nul
复制到记事本中,然后另存为!!
在格式那选择所有格式,输入文件名:setname.bat

双击该文件,根据提示修改

====================================================================================

Windows下不重启电脑修改机器名



以下批处理脚本可以实现更改计算机名字的作用,具体作用是

  1. 修改电脑属性中显示的名字
  2. 更改DNS对应的记录,以便在网络上可以通过新的机器名进行访问
复制代码
@echo off

set /p newName=Please input the new computer name:

echo Modifying registry keys...
::通过注册表修改本地机器名
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName /v ComputerName /d %newName% -f
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName /v ComputerName /d %newName% -f 
reg add HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\ComputerName\ComputerName /v ComputerName /d %newName% -f 
reg add HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ActiveComputerName /v ComputerName /d %newName% -f 
reg add HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName /v ComputerName /d %newName% -f 
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters /v Hostname /d %newName% -f 
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters /v "NV Hostname" /d %newName% -f
reg add HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters /v Hostname /d %newName% -f
reg add HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Tcpip\Parameters /v "NV Hostname" /d %newName% -f

echo Finish updating registry...

::更新DNS
echo Update DNS...
ipconfig /renew > NULL
ipconfig /flushdns > NULL
echo Finish updating DNS...

set computername=%newName%
复制代码

有一点需要注意的是,并不是所有的机器名都被更新到了,如果在命令行窗口里面运行 “echo %computername%”,下面显示的依然会是原来的机器名。虽然在脚本最后一句修改了这个变量值,但是一旦重新打开一个cmd窗口,%computername%还是会还原回去。这个是由于早在系统启动的时候机器名就已经作为环境变量加载到进程里了,以后所有新建的进程都会默认继承这个变量。由于这个变量是存储在内存中的,所以想彻底更改机器名还是要重启电脑,或者在内存中更改所有父进程里面的变量值。

====================================================================================


在注册表修改计算机名称



博主的小店 吖吖韩衣舍http://yy2100.taobao.com

不重启,用bat文件直接修改计算机名和工作组

在系统属性那里修改计算机名或者工作组,总是要进行重新启动,麻烦。

其实计算机名是保存在注册表里面的,我们可以通过直接修改注册表,达到修改的目的。

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters



工作组的修改可以通过一个wmic命令来实现目的。

wmic computersystem where Name="%COMPUTERNAME%" call JoinDomainOrWorkgroup Name="%WORKGROUP%"



现在我们把它写成一个批处理,来实现无需重启修改计算机名和工作组:


@echo off
echo AppLife.Net
set /p name=请输您的计算机名:
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v ComputerName /t reg_sz /d %name% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %name% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v Hostname /t reg_sz /d %name% /f >nul 2>nul
echo.
echo 修改计算机名完毕
echo.
echo AppLife.Net
set /p work1=请输入您的工作组名:
wmic computersystem where Name="%COMPUTERNAME%" call JoinDomainOrWorkgroup Name="%work1%"
echo 修改工作组完毕
pause>nul
echo.

把上面的代码保存为一个bat文件,运行就可以了。

====================================================================================

windows 通过修改注册表来修改主机名
2013-06-25 15:06:21

一次在windows2008 中要修改主机名 这么改都不生效 ,于是想到通过修改注册来进行修改

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] "NV Hostname"="hostname" "Hostname"="hostname"

 [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName] "ComputerName"="hostname"

hostname为主机名

重启服务器~生效~~~

====================================================================================


修改注册表改计算机名

下面把电脑名改为“计算机名”为例,复制以下内容另存为.reg 文件双击导入注册表即可(重启电脑生效)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName]

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName]
"ComputerName"="计算机名"

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ActiveComputerName]
"ComputerName"="计算机名"

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters]
"NV Hostname"="计算机名"
"Hostname"="计算机名"

#windows 注册表
====================================================================================

不重启修改Windows计算机名的注册表

一般我们都是在“我的电脑”-“属性”-“计算机名”进行修改,需要重启才能生效,其实也可以通过注册表的方式实现,且不用重启

有几个地方需要修改:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName
在这两项右侧栏修改ComputerName的值为任意需要的字符

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
在该项右侧栏修改NV Hostname和Hostname的值。

修改完后在“我的电脑”-“属性”中查看“计算机名称”已经修改成功。



参考:

修改主机名 注册表   谷歌

Windows 7之如何更改计算机名




===================

修改你计算机的Netbios名
2009-04-16 17:24:08
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 http://jeffyyko.blog.51cto.com/28563/150384
         首先和大家说一下,计算机名也就是我们常说的主机名,如下图
上图中的XP1即为计算机名,而今天我们要谈的是netbios名,简要的说,netbios名是在win98这样的系统下用于标示计算机的,在现行的一些操作系统中,它亦然存在,只是默认和计算机名相同,但仅限其前15位,因为netbios名最大也才16位,最后一位用来某种服务或应用程序。那如何查看呢
这两个红框分别是计算机名和netbios名,默认也就是一样的。
现在我们来修改,请打开注册表,并找到下面的键值HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName
在这个项下面有2个子项,ActiveComputerName和ComputerName,如图
这两者有什么区别呢?先说ComputerName,这个其实就是本机的netbios,看翻译好像是计算机名哈,其实不要被误解了,在注册表中,名为hostname的项的键值才是真正的计算机名,也称之为主机名。我们可以在命令提示符下用hostname命令查看本机的主机名。那ActiveComputerName又是什么呢,按照官方的说法是“这是不稳定和该会话过程中提供计算机名”,似乎很不好理解。其实也不用太费心,这个也是netbios名,如果想修改,就直接把ComputerName简直修改成想要的netbios名,然后重启,暂不用管ActiveComputerName,等重启完后,你会发现ActiveComputerName自动就和ComputerName同步了。试着做下吧
我已经把ComputerName改成了xp1bios,重启后。如图
netbios名已经改完。
我们也可以用nbtstat -n 来验证。
 
可能有朋友问,改netbios名有什么意义呢? 不改不是挺好吗? 是的,一般情况下,不改一样可以无碍使用,但在某些特殊环境下,在做一些测试和实验的时候,就需要用到netbios名。
如果想了解具体的应用,请参考下面的文章,里面会详细描述netbios名的用处。
 
精解局域网的访问及共享(一)
 
关于netbios更多知识点,可以参考 浅谈netbios及其相关内容 一文,相信你会有收获的。
 

本文出自 “许一君的原创技术博客” 博客,请务必保留此出处http://jeffyyko.blog.51cto.com/28563/150384


  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python可以通过使用`winreg`模块来修改Windows注册表中的本地组策略。注册表Windows操作系统中存储配置信息的地方,而本地组策略是用于管理和控制计算机上的用户和计算机设置的工具。 要通过Python修改注册表修改本地组策略,首先需要导入`winreg`模块。然后,通过调用`winreg.OpenKey()`函数来打开指定的注册表键。需要注意的是,修改注册表需要管理员权限。 接下来,可以使用`winreg.SetValueEx()`函数来修改注册表键的值。这个函数接受四个参数,分别是注册表键的句柄、要修改的值的名称、值的类型和新的值。例如,可以使用`winreg.REG_DWORD`类型来设置一个DWORD(双字)类型的值。 最后,需要使用`winreg.CloseKey()`来关闭注册表键的句柄。 下面是一个示例代码,用于通过修改注册表修改本地组策略中的一个设置项: ```python import winreg def modify_local_policy(): key_path = r"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" setting_name = "DisableTaskMgr" # 打开注册表键 key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, key_path, 0, winreg.KEY_ALL_ACCESS) # 修改注册表值 winreg.SetValueEx(key, setting_name, 0, winreg.REG_DWORD, 1) # 关闭注册表键 winreg.CloseKey(key) modify_local_policy() ``` 上述示例代码中,通过修改`DisableTaskMgr`设置项的值为1来禁用任务管理器。实际使用时,可以根据需求修改`key_path`和`setting_name`来修改其他本地组策略设置项。 需要注意的是,修改注册表可能会对系统造成意外的影响,请谨慎操作,并在进行此类操作之前备份注册表以防万一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值