当前位置: 首页 > 图文教程 > 脚本技术 > VBScript > 用vbs实现更改计算机的说明的代码

VBScript
VBS中SendKeys的基本应用
VBScript教程 第十四课在VBScript中使用对象
VBScript教程 第十三课 VBScript与窗体
VBScript教程 第十二课VBScript页面的简单样例
VBScript教程 第十一课深入VBScript
VBScript教程 第十课 VBScript编码约定
VBScript教程 第九课VBScript过程
VBScript教程 第八课 使用循环语句
VBScript教程 第七课使用条件语句
VBScript教程 第六课VBScript运算符
VBscript教程 第五课 VBScript常数
VBScript教程 第四课VBScript变量
VBScript教程 第三课VBScript数据类型
VBScript教程 第二课在HTML页面中添加VBscript代码
VBScript教程 第一课什么是VBScript
VBScript的入门学习资料
VBScript语法速查及实例说明
MsgBox函数语言参考
VBS教程:正则表达式简介 -后向引用
VBS教程:正则表达式简介 -选择与编组

VBScript 中的 用vbs实现更改计算机的说明的代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 87 ::
收藏到网摘: n/a

问:
您好,脚本专家!在使用 Windows 资源管理器连接到远程计算机时,可以在“详细信息”窗格中看见该计算机的说明。如何更改计算机的说明?
-- GF
答:
您好,GF。只是为了确保每个人都清楚我们谈论的内容,我们不会谈论 Active Directory 中的“说明”属性,而是谈论在整个网络范围内广播的计算机说明。(如果您真正想知道的是如何更改 Active Directory 中的“说明”属性,请参阅此“您好,脚本专家!”专栏。)
例如,在 Windows XP 中,您可通过执行以下操作来查看计算机说明:右键单击“我的电脑”,单击“属性”,然后查看“系统属性”对话框的“计算机名称”选项卡中的内容:
如您所述,如果使用 Windows 资源管理器连接到该计算机,则该说明还会出现在“详细信息”窗格中:
我们也认为这很令人兴奋。
那么如何更改计算机说明呢?是这样,您可以启动 Regedit.exe,然后手动更改注册表值 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\lanmanserver\parameters\srvcomment。或运行与以下脚本类似的脚本即可:

复制代码 代码如下:

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
这当然容易啦;相处了这么长时间,您真的认为我们会突然开始为您的问题提供复杂而又费解的答案吗?我们先是定义一个名为 HKEY_LOCAL_MACHINE 的常量并将其值设置为 &H80000002;过一会儿,我们将使用此常量来告诉脚本我们要处理的注册表配置单元。然后,我们连接到 WMI 服务(在本例中,它位于本地计算机上,不过修改远程计算机上注册表的操作也差不多同样简单),并绑定到 StdRegProv 类。(而该类(正如我们所不厌其烦地告诉大家的)恰好位于 root\default 命名空间中。)
接下来,我们为三个变量赋值:
strKeyPath = "System\CurrentControlSet\Services\lanmanserver\parameters"
strValueName = "srvcomment"
strDescription = "Description changed programmtically"
变量 strKeyPath 表示注册表 HKEY_LOCAL_MACHINE 部分内的路径;strValueName 表示要更改的注册表值 (srvcomment);还有 strDescription,没错:strDescription 表示新的计算机说明。您的观察力很敏锐。
注意:我们想要说的是,你们在这方面要比我们强得多,但我们不想让经理对此有任何了解。的确如此:对于一位 Microsoft 经理来说,了解情况将是最为重要的!
现在我们所要做的就是调用 SetStringValue 方法,同时将 HKEY_LOCAL_MACHINE 和我们的三个变量作为方法参数进行传递:
objRegistry.SetStringValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strDescription
像这样的脚本真的确实会使生活变得有意义,不是吗?
注意:请注意,即使是在注册表中进行此更改,新说明可能仍要在计算机重新启动后才会生效。这只不过是一个需要注意的地方。