問:
您好,腳本專家!在使用 Windows 資源管理器連接到遠(yuǎn)程計算機時,可以在“詳細(xì)信息”窗格中看見該計算機的說明。如何更改計算機的說明?
-- GF
答:
您好,GF。只是為了確保每個人都清楚我們談?wù)摰膬?nèi)容,我們不會談?wù)?nbsp;Active Directory 中的“說明”屬性,而是談?wù)撛谡麄€網(wǎng)絡(luò)范圍內(nèi)廣播的計算機說明。(如果您真正想知道的是如何更改 Active Directory 中的“說明”屬性,請參閱此“您好,腳本專家!”專欄。)
例如,在 Windows XP 中,您可通過執(zhí)行以下操作來查看計算機說明:右鍵單擊“我的電腦”,單擊“屬性”,然后查看“系統(tǒng)屬性”對話框的“計算機名稱”選項卡中的內(nèi)容:
如您所述,如果使用 Windows 資源管理器連接到該計算機,則該說明還會出現(xiàn)在“詳細(xì)信息”窗格中:
我們也認(rèn)為這很令人興奮。
那么如何更改計算機說明呢?是這樣,您可以啟動 Regedit.exe,然后手動更改注冊表值 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\lanmanserver\parameters\srvcomment?;蜻\行與以下腳本類似的腳本即可:
復(fù)制代碼 代碼如下:
Const HKEY_LOCAL_MACHINE = H80000002
strComputer = "."
Set objRegistry = GetObject _
("winmgmts:\\" strComputer "\root\default:StdRegProv")
strKeyPath = "System\CurrentControlSet\Services\lanmanserver\parameters"
strValueName = "srvcomment"
strDescription = "Description changed programmatically"
objRegistry.SetStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strDescription
這當(dāng)然容易啦;相處了這么長時間,您真的認(rèn)為我們會突然開始為您的問題提供復(fù)雜而又費解的答案嗎?我們先是定義一個名為 HKEY_LOCAL_MACHINE 的常量并將其值設(shè)置為 H80000002;過一會兒,我們將使用此常量來告訴腳本我們要處理的注冊表配置單元。然后,我們連接到 WMI 服務(wù)(在本例中,它位于本地計算機上,不過修改遠(yuǎn)程計算機上注冊表的操作也差不多同樣簡單),并綁定到 StdRegProv 類。(而該類(正如我們所不厭其煩地告訴大家的)恰好位于 root\default 命名空間中。)
接下來,我們?yōu)槿齻€變量賦值:
strKeyPath = "System\CurrentControlSet\Services\lanmanserver\parameters"
strValueName = "srvcomment"
strDescription = "Description changed programmtically"
變量 strKeyPath 表示注冊表 HKEY_LOCAL_MACHINE 部分內(nèi)的路徑;strValueName 表示要更改的注冊表值 (srvcomment);還有 strDescription,沒錯:strDescription 表示新的計算機說明。您的觀察力很敏銳。
注意:我們想要說的是,你們在這方面要比我們強得多,但我們不想讓經(jīng)理對此有任何了解。的確如此:對于一位 Microsoft 經(jīng)理來說,了解情況將是最為重要的!
現(xiàn)在我們所要做的就是調(diào)用 SetStringValue 方法,同時將 HKEY_LOCAL_MACHINE 和我們的三個變量作為方法參數(shù)進(jìn)行傳遞:
objRegistry.SetStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strDescription
像這樣的腳本真的確實會使生活變得有意義,不是嗎?
注意:請注意,即使是在注冊表中進(jìn)行此更改,新說明可能仍要在計算機重新啟動后才會生效。這只不過是一個需要注意的地方。