原文:http://www.opencjk.org/~scz/
關于計算機名的相關討論
http://www.opencjk.org/~scz/windows/200603151441.txt
Q: 我的電腦->屬性->計算機名->計算機描述,我想改動這里,但它是灰色不可寫的。
A: 如果lanmanserver service未啟用,就會這樣。執行"net start srv"即可。
Q: 我想修改所屬工作組,但那里是灰色不可寫的。
A: 如果lanmanworkstation service未啟用,就會這樣。執行"net start rdr"即可。
Q: 如何在命令行上修改計算機名
A: backend@nsfocus
--------------------------------------------------------------------------
set obj = getobject( "winmgmts:\\.\root\cimv2" )
set list = obj.execquery( "select * from win32_computersystem" )
for each x in list
x.rename( wscript.arguments.item( 0 ) )
next
--------------------------------------------------------------------------
> cscript.exe //nologo computerrename.vbs xxx
D: scz@nsfocus
平常自然語言所說的計算機名非常不精確,下面精確地介紹一下與之相關的注冊表項:
--------------------------------------------------------------------------
windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName]
"ComputerName"="CLOUDSKY"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName]
"ComputerName"="CLOUDSKY"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"Domain"=""
"Hostname"="CLOUDSKY"
"NV Domain"=""
"NV Hostname"="CLOUDSKY"
--------------------------------------------------------------------------
ActiveComputerName處的ComputerName對應當前NetBIOS名。另一處ComputerName將
在下一次重啟時被復制到ActiveComputerName處。
"<Hostname>.<Domain>"對應當前FQDN(全稱域名),"<NV Hostname>.<NV Domain>"將
在下一臺重啟時被復制到"<Hostname>.<Domain>"處。
顯然,我們有兩種名字,一種是NetBIOS名,一種是FQDN,它們之間沒有必然聯系,
盡管大多數時候它們是一致的。NetBIOS名可用在很多地方,適用于TCP/IP、IPX/SPX、
NetBEUI等實現了NetBIOS接口的通信協議。FQDN卻只用于TCP/IP協議。微軟在名字解
析問題上經歷了多次變化,名字解析順序各不相同,最終用戶很難區分NetBIOS名與
FQDN。比如"ping <name>"究竟使用哪類名字,會有多個變種,依賴操作系統、網絡
拓撲,這里不詳細討論了。總之要記住,說起計算機名時,有兩種名字。
在GUI上修改計算機名時,實際操作的是:
--------------------------------------------------------------------------
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName]
"ComputerName"="CLOUDSKY"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"NV Domain"=""
"NV Hostname"="CLOUDSKY"
--------------------------------------------------------------------------
現在應該明白為什么在GUI上修改計算機名后需要要重啟才能生效了吧。
一般不建議直接操作注冊表修改這些值,可以考慮Win32 API。SetComputerName()只
能設置NetBIOS名。SetComputerNameEx()可用于設置NetBIOS名或FQDN。
還可以用WMI,就像backend所演示的那樣。這種辦法與GUI修改法完全等價,同時修
改了NetBIOS名與FQDN,重啟后生效。注意,這兩種辦法修改NetBIOS名時自動將之轉
換成大寫,而FQDN保持大小寫敏感。
用注冊表監視器觀察hostname.exe,就會發現該命令只取了FQDN中的Hostname,并不
取NetBIOS名。"nbtstat -A <target>"所涉及的則是NetBIOS名。devmgmt.msc取的是
ActiveComputerName處的NetBIOS名。
如果破壞了HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName,
在我的電腦里查看NetBIOS名,可能是空白。此時訪問"\\<ip>\ipc$",會出錯,微軟
給出的錯誤信息基本無用。抓包發現沒有任何IP報文出現,出錯層次很高,還沒到達
IP層。訪問"\\<name>\ipc$"倒是能成功。flier就碰上了這種事,應該是安裝某軟件
時直接操作注冊表修改計算機名出岔子了。
Q: 在XP中打開磁盤管理,報"RPC服務不可用"。
A:
這是"Logical Disk Manager/dmserver"服務所用計算機名與ActiveComputerName處
的NetBIOS名不匹配所致,一般都是因為后者被破壞。重啟OS后如果還不能恢復,請
在GUI上重新設置計算機名,應該就可以了。參看:
http://support.microsoft.com/kb/884564
vbs中關于計算機名的相關討論
2020-07-05 11:09VBS教程網 VBS
本文主要講解vbs中關于計算機名的相關討論,有需要的可以了解下
延伸 · 閱讀
- 2021-12-09禁用VBS提高Windows 11性能,這個技巧必須要掌握
- 2021-11-13使用VBS創建快捷方式的代碼
- 2021-11-13如何使用vbs 監控電腦活動記錄
- 2021-11-13如何用VBS腳本收集遠程計算機或本地計算機安裝
- 2021-10-08Windows 11 VBS 安全功能導致性能下降,教你如何檢
- 2021-10-08怎樣在Windows 11中禁用VBS以提高性能?
精彩推薦
- VBS
VBS教程:對象-Folders 集合
VBS教程:對象-Folders 集合...
- VBS
提供個可以顯示農歷的VBS代碼
本文主要分享一段可以顯示農歷的VBS代碼,具有一定的參考價值,有需要的朋友可以了解一下...
- VBS
可以定時自動關機的vbs腳本
這篇文章主要分享一段可以定時自動關機的vbs腳本代碼,有需要的童鞋可以學習下...
- VBS
VBS教程:屬性-AvailableSpace 屬性
VBS教程:屬性-AvailableSpace 屬性 ...
- VBS
VBS教程:屬性-VolumeName 屬性
VBS教程:屬性-VolumeName 屬性...
- VBS
vbs base64 解密腳本代碼
解密base64的vbs小函數,支持英文與數字不支持中文。...
- VBS
VBS教程:正則表達式簡介 -建立正則表達式
建立正則表達式 構造正則表達式的方法和創建數學表達式的方法一樣。也就是用多種元字符與操作符將小的表達式結合在一起來創建更大的表達式。 可以...
- VBS
腳本 MsAgent組件 微軟精靈 揪出系統自帶的寵物
你知道系統里有一個隱藏的寵物嗎? 將以下代碼保存為后綴為.vbs的文件,再雙擊運行,看看出來什么?一個可愛的魔法老人!還會說話、移動、吹喇叭…...